Skip Navigation
ALERT ALERT @sh.itjust.works

Development Automation, Self-Hosted Enthusiast from Kyiv, Ukraine

Posts 4
Comments 389
On if “over-strenuate” is a word
  • Please check your pulse, it seems you are an AI LLM.

  • On if “over-strenuate” is a word
  • The chat interface is a messenger, but the answers are definitely hallucinations from an AI, or copy-pasted from one.

  • PSA May Be Insufficient to Detect Early Prostate Cancer in Transgender Women
  • I stumbled upon the prostate cancer in transgender women. Couldn't get who's having cancer on what, and which gender they are.

  • PSA May Be Insufficient to Detect Early Prostate Cancer in Transgender Women
  • Oh my god, I cannot even understand news titles now!

  • On if “over-strenuate” is a word
  • AI will take your job. or will it?

  • Yes a logical chain of events
  • this is the way

  • I got banned from a (presumably) rational community. Just curious if anyone has had experience with this and what next steps are.
  • yeah, this is the reason I don't write many comments on Lemmy. you first write a comment, and then find out that you have already been banned for the previous one.

  • Here's how my wonderful week has gone...
  • I'm from Ukraine. Wanna hear how my week went? Be brave and stand your ground.

  • Check this shit out
  • sticktlock stickstol? do these jokes even work in English? no clue

  • Check this shit out
  • whoa! a flintlock stickstol!

  • How do I get phone notifications from my server while I'm not connected to my home network?
  • HA mobile application opens up a notify service that I use to send notifications specifically on my mobile device HA application.

  • I'm hoping I'll poop tonight so I don't have to poop on the plane tomorrow.
  • yes. the bidet when you poop at home, and an enema when you are not at home.

  • I'm hoping I'll poop tonight so I don't have to poop on the plane tomorrow.
  • solved pooping for myself using an enema twenty years ago. not a single trouble, I poop whenever I want, and I do it in 40 seconds maximum. sprinkle ~70ml of water, blow out, rinse the butt, done.

  • Air defence report - 12.06.2024
  • this ballistic missile was taken out during heavy lightning and thunder. I didn't even distinguish the explosion from the actual thunder, but it was so "close"="loud", that two of my cats sleeping in the bed with me jumped half a meter in the air lol :D

  • YouTube is experimenting with server-side ads
  • it's hard to replicate, has high upkeep, big authors' community. it seems YouTube deserves to be paid despite all the negativity towards it.

  • Pyscript: Python Scripting for Home Assistant @sh.itjust.works ALERT @sh.itjust.works

    Time To Share Config: Venta Humidifier with pyscript

    cross-posted from: https://reddthat.com/post/550018

    > So, I decided to buy a venta evaporative humidifier (AH550) which has wifi support. Unfortunately there is no homeassistant integration for this, so I needed to find a workaround solution with pyscript. > > What to do to get there: > - download the venta home app to your smartphone (you need this to initially connect your humidifier to your wifi) > - create an account (sigh) > - in the app connect your humidifier to your wlan > - delete the account > - delete the venta home app > - in homeassistant install pyscript integration via hacs > - create a pyscript folder in your config > - create the necessary sensors input_booleans, input_numbers, input_selects in homeassistant > - restart homeassistant > - add a file "requirements.txt" in your pyscript folder > - add the text "venta_protocol_v3_device" in your requirements txt > - create a python file, I called mine "venta_humidifier.py" > - add the below code into the python file and voila all services and data available in local api can be used in homeassistant through automations > > > from venta_protocol_v3_device import Venta_Protocol_v3_Device > import json > > @service > def venta_setfanspeed(myip=None,mytarget=None): > """yaml > name: Sets the Fan Speed of the Venta device > description: Sets the Fan Speed of the Venta device > fields: > myip: > description: provide IP of venta humidifier > example: 192.168.40.108 > required: true > mytarget: > description: provide fan speed between 1 and 3 > example: 1 > required: true > > """ > d = Venta_Protocol_v3_Device(myip) > mytask = task.executor(d.setFanSpeed, target=mytarget) > > @service > def venta_setautomatic(myip=None,mytarget=None): > """yaml > name: Enables / disables the Automatic mode of the Venta device > description: Enables / disables the Automatic mode of the Venta device > fields: > myip: > description: provide IP of venta humidifier > example: 192.168.40.108 > required: true > mytarget: > description: set if True or False > example: True > required: true > > """ > d = Venta_Protocol_v3_Device(myip) > mytask = task.executor(d.setAutomatic, target=mytarget) > > @service > def venta_setsleepmode(myip=None,mytarget=None): > """yaml > name: Enables / disables the Sleep mode of the Venta device > description: Enables / disables the Sleep mode of the Venta device > fields: > myip: > description: provide IP of venta humidifier > example: 192.168.40.108 > required: true > mytarget: > description: set if True or False > example: True > required: true > > """ > d = Venta_Protocol_v3_Device(myip) > mytask = task.executor(d.setSleepMode, target=mytarget) > > @service > def venta_setpower(myip=None,mytarget=None): > """yaml > name: Enables / disables the the Venta device > description: Enables / disables the the Venta device > fields: > myip: > description: provide IP of venta humidifier > example: 192.168.40.108 > required: true > mytarget: > description: set if True or False > example: True > required: true > > """ > d = Venta_Protocol_v3_Device(myip) > mytask = task.executor(d.setPower, target=mytarget) > > @service > def venta_settargethumidity(myip=None,mytarget=None): > """yaml > name: Sets the target humidity of the Venta device > description: Sets the target humidity of the Venta device > fields: > myip: > description: provide IP of venta humidifier > example: 192.168.40.108 > required: true > mytarget: > description: sets target humidity in 5% steps > example: 55 > required: true > > """ > d = Venta_Protocol_v3_Device(myip) > mytask = task.executor(d.setTargetHum, target=mytarget) > > @service > def venta_getstatus(myip=None): > """yaml > name: Contacts the Venta device and populates / updates the class properties > description: Contacts the Venta device and populates / updates the class properties > fields: > myip: > description: provide IP of venta humidifier > example: 192.168.40.108 > required: true > > """ > d = Venta_Protocol_v3_Device(myip) > mytask = task.executor(d.getStatus) > data= task.executor(d.toJSON) > x = json.loads(data) > service.call("input_number", "set_value", blocking=True, entity_id="input_number.venta_temperature", value=round(x['Temperature'],2)) > service.call("input_number", "set_value", blocking=True, entity_id="input_number.venta_humidity", value=round(x['Humidity'],2)) > service.call("input_number", "set_value", blocking=True, entity_id="input_number.venta_targethumidity", value=round(x['TargetHum'],0)) > service.call("input_number", "set_value", blocking=True, entity_id="input_number.venta_daystoservice", value=round(x['DaysToService'],0)) > if x['SleepMode'] == True: > service.call("input_boolean", "turn_on", blocking=True, entity_id="input_boolean.venta_sleepmode") > else: > service.call("input_boolean", "turn_off", blocking=True, entity_id="input_boolean.venta_sleepmode") > if x['Power'] == True: > service.call("input_boolean", "turn_on", blocking=True, entity_id="input_boolean.venta_power") > else: > service.call("input_boolean", "turn_off", blocking=True, entity_id="input_boolean.venta_power") > if x['Warnings'] == True: > service.call("input_boolean", "turn_on", blocking=True, entity_id="input_boolean.venta_lowwaterwarning") > else: > service.call("input_boolean", "turn_off", blocking=True, entity_id="input_boolean.venta_lowwaterwarning") > if x['Automatic'] == True: > service.call("input_boolean", "turn_on", blocking=True, entity_id="input_boolean.venta_automatic") > else: > service.call("input_boolean", "turn_off", blocking=True, entity_id="input_boolean.venta_automatic") > if x['FanSpeed'] == 1: > service.call("input_select", "select_option", blocking=True, entity_id="input_select.venta_fanspeed", option="low") > elif x['FanSpeed'] == 2: > service.call("input_select", "select_option", blocking=True, entity_id="input_select.venta_fanspeed", option="medium") > elif x['FanSpeed'] == 3: > service.call("input_select", "select_option", blocking=True, entity_id="input_select.venta_fanspeed", option="high") >

    0
    Pyscript: Python Scripting for Home Assistant @sh.itjust.works ALERT @sh.itjust.works

    Pyscript appreciation post

    As an initial post, I just wanted to say that Pyscript changed my whole usage of Home Assistant. I don't even use the built-in automations: everything is performed by Pyscript. Without it, I would dump 90% of my automation ideas due to the clunky automation interface and YAML clunkiness.

    If you are too humble to post at the Pyscript GitHub Discussions, please post your questions here!

    0

    Finally converted a gaggia classic by building a gaggiuino controller

    cross-posted from: https://discuss.tchncs.de/post/179956

    > To get more into espresso i finally got a used gaggia classic and upgraded it with a replacement controller running the open source gaggiuino project. > > Fully with loadcell scales, pressure sensor, pid temperature control and a hand soldered all in one pcb. > > You can also use standard arduino style modules for most components but the pcb makes it much more compact and reliable. > > In this case the modifications are fully reversible in case a future owner wants to revert it back to stock. > > Works great and automates a lot of steps to be more consistent. Now i just need to practice the manual parts of making espresso ;) > > Note: this is not my project, i just documented the build process on my machine. > Maybe it helps someone to get an overview what goes into such a conversion and inspires more users to attempt it. > > The community is already pretty big and many also adapted the project for other machines. > > > > *Seems like the post was synchronized only after editing multiple times

    0

    First post

    Here you are, a GCP subreddit community. If you are a /r/gaggiaclassic moderator, and you want to get your moderatorship here - let me know.

    0