ALERT

joined 1 year ago
MODERATOR OF
[–] ALERT@sh.itjust.works -3 points 1 day ago (1 children)

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.

[–] ALERT@sh.itjust.works 1 points 1 day ago* (last edited 1 day ago)

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.

[–] ALERT@sh.itjust.works -1 points 2 days ago

stop advertising russian games.

[–] ALERT@sh.itjust.works 1 points 6 days ago

insurance in belarus? very funny

[–] ALERT@sh.itjust.works 11 points 1 week ago

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

[–] ALERT@sh.itjust.works 11 points 1 week ago

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.

[–] ALERT@sh.itjust.works 2 points 1 week ago (1 children)

says every person who maintains zero open-source products themselves.

 

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

 

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")    
1
submitted 1 year ago* (last edited 1 year ago) by ALERT@sh.itjust.works to c/pyscript_ha@sh.itjust.works
 

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!

view more: next ›