ALERT

joined 2 years ago
MODERATOR OF
[–] ALERT@sh.itjust.works 7 points 2 days ago

now that's fair

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

yeah, basically, an AoE tesla tower from Command and Conquer.

[–] ALERT@sh.itjust.works 11 points 5 days ago (2 children)

If one invades another country, this should be expected. 🌻

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

this happened less than 80 meters from my house. my wife and cats jumped, but there was no ongoing air raid alarm at the moment so we didn't know what to think.

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

petya can go fuck himself

[–] ALERT@sh.itjust.works 5 points 2 weeks ago

I guess they are "low batt" when they reach the furthest they can go, but this one was relatively near.

[–] ALERT@sh.itjust.works 19 points 3 weeks ago (1 children)

I wish our corporation would get rid of the office365. the 2 FPS video presentation streaming is a joke.

[–] ALERT@sh.itjust.works 10 points 3 weeks ago (1 children)

I hope she's ok.

[–] ALERT@sh.itjust.works 3 points 3 weeks ago

ptashka (пташка) means "a bird" in Ukrainian.

[–] ALERT@sh.itjust.works 38 points 3 weeks ago (2 children)

as a Ukrainian I officially declare that it is the right reaction. we are celebrating this number all over the country.

[–] ALERT@sh.itjust.works 2 points 3 weeks ago

definitely c++ or Japanese

[–] ALERT@sh.itjust.works 2 points 4 weeks ago

сир (syyr)

 

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 2 years ago* (last edited 2 years 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!

 

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

 

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.

view more: next ›