Skip Navigation
Developing with Docker
  • from my 15 years of RSS experience, a typical feed contains not much more than 5% of useful information, so I am prepared for filtering, no worries :)

  • Developing with Docker
  • requesting RSS feed for your blog. thank you

  • SJW upgrade to v19.5
  • thank you!

  • Is this the hardest Pistol Whip map yet?
  • this is fire! 🔥🔥🔥 so intense! I couldn't move my eyes away for the entire video!

  • Warhammer 40,000: Space Marine 2 released on Steam
  • or is it? those people working on that game pay taxes at home, being residents of russia, they send money to their families even while living abroad, their families buy products and pay those taxes again, and those taxes are used to fund what? killing us, Ukrainians.

  • Warhammer 40,000: Space Marine 2 released on Steam
  • stop advertising russian games

  • HACS
  • pyscript.

  • How much do y'all spend on coffee a month?
  • 700 UAH (18$) for a kilo for a month. freshly roasted. two people. two double espresso (16.5g of coffee) almost every day. plus occasional guests. Kyiv, Ukraine.

  • Dnipro, Ukraine
  • btw the river is also Dnipro. Dnieper is the russian name for it.

  • Firefox 130.0, See All New Features, Updates and Fixes
  • to be fair, the AI feature implementation in this version is strictly UI, and, for example, HDR, which you've mentioned, is a core/backend feature. Both of these features are being implemented by totally different people/development departments, you cannot take the UI developers that have no complex tasks in the backlog and tell them to go implement the HDR support. They are not core/backend programmers.

  • You can already play Star Wars Outlaws in VR thanks to a mod
  • says every person who maintains zero open-source products themselves.

  • Some people say “good shite Maynard". Who's Maynard?
  • I know only one Maynard, whose shite is good. That is Maynard James Keenan.

  • Gearbox's first Risk of Rain 2 expansion gets hammered on Steam as developer admits the PC version 'is in a really bad place'
  • What's all the hate about? I have already played this dlc for 8 hours and have seen zero bugs.

  • Eating Less Meat And Dairy Could Add 10 Years To Your Life, New Study Says
  • no it would not. I would be unhappy those 10 years even if it would.

  • gas station hot dog
  • the puke looked very similar to the pic

  • Knowing "You Are Banned In This Community" Before Writing A Post/Reply

    A suggestion for my favorite Lemmy client: I would love to know that I am banned in a community before finishing a huge post/reply and pressing "send", not after T_T

    14
    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