Gnizadko S26 Ai-Speaker

Witam Wszystkich!
Drodzy koledzy, z okazji black week na alle… zakupiłem dla siebie kilka gniazdek jak w temacie. Gniazdko połączyłem już z moją siecią wifi oraz z HA za pomocą MQTT (wszystko gra). Czy ktoś będzie tak miły i podpowie jakie ustawienia wprowadzić w gniazdku (tasmota) i ewentualnie co wpisać w HA aby to wszystko ładnie grało?
Pozdrawiam Serdecznie

Te dwa zdania się wykluczają. To gra czy nie gra? Z takiego opisu nic nie wynika… Masz czysty HA czy używasz Asystenta domowego AIS (bramka)? Czy przeczytałeś dokumentację?

Chodzi mi o to, że jest połączenie z brokerem MQTT. W dokumentacji jest jak połączyć gniazdko z WiFi i MQTT, to mam zrobione. Chciałbym wiedzieć co ustawić tutaj (trzeba coś tutaj zmieniać?):
Gniazdko
Może będziesz chciał przeglądnąć log:

11:26:16.268 MQT: tele/dom_XXXXXX/STATE = {"Time":"2021-12-03T11:26:16","Uptime":"0T00:20:28","UptimeSec":1228,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"Domek Parter","BSSId":"C8:D3:A3:05:D0:EE","Channel":1,"Mode":"11n","RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:11"}}
11:26:28.300 MQT: Próba połączenia...
11:26:28.520 MQT: Nie udało się nawiązać połączenia 192.168.8.11:1883, rc -2. Spróbuj ponownie 30 sec
11:26:59.317 MQT: Próba połączenia...
11:26:59.599 MQT: Połączony
11:26:59.603 MQT: tele/dom_XXXXXX/LWT = Online (Zachowane)
11:26:59.606 MQT: cmnd/dom_XXXXXX/POWER = 
11:27:00.524 MQT: homeassistant/switch/3EB7A5_RL_1/config = {"name":"Nowe urządzenie","stat_t":"tele/dom_XXXXXX/STATE","avty_t":"tele/dom_XXXXXX/LWT","pl_avail":"Online","pl_not_avail":"Offline","cmd_t":"cmnd/dom_XXXXXX/POWER","pl_off":"OFF","pl_on":"ON","val_tpl":"{{value_json.POWER}}","uniq_id":"3EB7A5_RL_1","dev":{"ids":["3EB7A5"]}} (Zachowane)
11:27:00.598 MQT: homeassistant/sensor/3EB7A5_status/config = {"name":"Nowe urządzenie status","stat_t":"tele/dom_XXXXXX/HASS_STATE","avty_t":"tele/dom_XXXXXX/LWT","pl_avail":"Online","pl_not_avail":"Offline","json_attr_t":"tele/dom_XXXXXX/HASS_STATE","unit_of_meas":"%","val_tpl":"{{value_json['RSSI']}}","ic":"mdi:information-outline","uniq_id":"3EB7A5_status","dev":{"ids":["3EB7A5"],"name":"Nowe urządzenie","mdl":"Sonoff S2X","sw":"10.0.0(tasmota)","mf":"AI-Speaker"}} (Zachowane)
11:31:10.288 MQT: tele/dom_XXXXXX/HASS_STATE = {"Version":"10.0.0(tasmota)","BuildDateTime":"2021-10-26T09:38:12","Module or Template":"Sonoff S2X","RestartReason":"Software/System restart","Uptime":"0T00:25:22","Hostname":"dom-3EB7A5-6053","IPAddress":"192.168.8.114","RSSI":"68","Signal (dBm)":"-66","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:11","MqttCount":2,"LoadAvg":19}
11:31:16.305 MQT: tele/dom_XXXXXX/STATE = {"Time":"2021-12-03T11:31:16","Uptime":"0T00:25:28","UptimeSec":1528,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"POWER":"OFF","Wifi":{"AP":1,"SSId":"Domek Parter","BSSId":"C8:D3:A3:05:D0:EE","Channel":1,"Mode":"11n","RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:11"}}
11:36:10.301 MQT: tele/dom_XXXXXX/HASS_STATE = {"Version":"10.0.0(tasmota)","BuildDateTime":"2021-10-26T09:38:12","Module or Template":"Sonoff S2X","RestartReason":"Software/System restart","Uptime":"0T00:30:22","Hostname":"dom-3EB7A5-6053","IPAddress":"192.168.8.114","RSSI":"82","Signal (dBm)":"-59","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:11","MqttCount":2,"LoadAvg":19}
11:36:16.279 MQT: tele/dom_XXXXXX/STATE = {"Time":"2021-12-03T11:36:16","Uptime":"0T00:30:28","UptimeSec":1828,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"POWER":"OFF","Wifi":{"AP":1,"SSId":"Domek Parter","BSSId":"C8:D3:A3:05:D0:EE","Channel":1,"Mode":"11n","RSSI":76,"Signal":-62,"LinkCount":1,"Downtime":"0T00:00:11"}}
11:41:10.293 MQT: tele/dom_XXXXXX/HASS_STATE = {"Version":"10.0.0(tasmota)","BuildDateTime":"2021-10-26T09:38:12","Module or Template":"Sonoff S2X","RestartReason":"Software/System restart","Uptime":"0T00:35:22","Hostname":"dom-3EB7A5-6053","IPAddress":"192.168.8.114","RSSI":"74","Signal (dBm)":"-63","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:11","MqttCount":2,"LoadAvg":19}
11:41:16.269 MQT: tele/dom_XXXXXX/STATE = {"Time":"2021-12-03T11:41:16","Uptime":"0T00:35:28","UptimeSec":2128,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"POWER":"OFF","Wifi":{"AP":1,"SSId":"Domek Parter","BSSId":"C8:D3:A3:05:D0:EE","Channel":1,"Mode":"11n","RSSI":74,"Signal":-63,"LinkCount":1,"Downtime":"0T00:00:11"}}

@Cezary.K Przyznam się bez bicia, nie szukałem (jak narazie) ale chciałem gnizdko wykorzystać w taki sposób: Dodać encję o % naładowania baterii w laptopie mojego syna, gdy spadnie poniżej 10% to gniazdko włączy napięcie i zacznie ładować laptopa do 100%. Jak myślisz, jest szansa to osiągnąć?

Nic w tej karcie nie zmieniasz, ponieważ masz ustawienie/konfigurację modułu (ESP) wybrane w/g szablonu dla gniazda Sonoff s2X. Szablon to gotowa konfiguracja pod dane urządzenie.

NIE - ponieważ to gniazdo nie ma funkcji pomiaru! W środku jest przekaźnik, przycisk sterowania i dioda LED.
Nie ma miernika.

@Cezary.K
Nie myślałem mierzyć zużycia prądu gniazdkiem, zdaje sobie sprawę z tego, że nawet gniazdka które mają tą funkcję nie są jakoś super precyzyjne.
Myślałem raczej o jakimś dodatku do OS na laptopie abym mógł utworzyć encję w HA do której będzie raportowany % baterii. Dodając do HA np integracje HomeKit i podłączając telefon tworzy się X encji i między innymi % baterii telefonu (o czymś takim myślę). Poszukam i dam znać co znalazłem
Pozdrawiam

Jeśli wyciągniesz taką informację z laptopa dla HA to tak, gniazdko będzie sterowane z HA.

Polecam:

Dzięki! O coś takiego mi chodziło
Zapewne “Power Status” będzie wyświetlał informację o baterii

Pod linuxem to wystarczy doinstalować mosquitto i w cron co np 5min dodać skrypt o treści:

mosquitto_pub -h IP_AIS -t tele/pc/laptop/STATE -m “{“bat”:”cat /sys/class/power_supply/BAT1/capacity"}"

następnie obsłużyć mqtt w HA AIS i dodać automatyzację.

@damu - zaciekawiłeś mnie, a po zainstalowaniu Mosquitto mogę z cron publikować stan zasilania PC z Linux. Jak wówczas wykonać taką automatyzację/skrytp? Chodzi o zbudowanie w HA sensora informującego mnie czy PC z Mint jest włączony… A może dla linuxowych platform są jakieś aplikacje podobne w funkcjonalności do IOT Link?

Moje próby z SSH w tym temacie:

Spróbuj coś takiego:
cat /sys/class/power_supply/BAT0/status
lub
cat /sys/class/power_supply/BAT1/status

powinno wypisać “Discharging” lub “Charging” i to możesz wrzucić przez mqtt
i masz że ładuje baterie bądź nie a jak nie będzie komunikatu to wyłączony

sprawdzone notabene w Mint na Thinkpad :slight_smile:

zasadniczo jak ci client mqtt nie będzie podsyłał cyklicznie jakichkolwiek danych to masz włączony komputer a tym wypadku dodatkowe info o ładowaniu baterii

U mnie stoi blaszana skrzynka bez baterii, to DELL optiplex 3020. :wink:

a co masz w ls -al /sys/class/power_supply coś powinno być zamiast baterii :slight_smile: mozna to wyssać i przesyłać po mqtt.

Mam już połączenie po ssh, może obyło by się bez komara.

Po ssh to jeszcze nie kombinowałem :slight_smile: a mqtt jest chyba bardziej elastyczne.

@Cezary.K @damu
Jaki zrobić automatyzację aby:

  1. HA sprawdzało czy laptop jest włączony (to jestem w stanie odczytać z lOT Link po MQTT)
  2. Jeżeli jest włączony to czy ma naładowaną baterie w przynajmniej 10% (lOT Link po MQTT), jak jest więcej to ma nic nie robić, jak mniej to ma ładować do 100%
  3. Jeżeli bateria jest naładowana w 100% to wyłącza ładowanie
    Powyższe warunki mają sterować - włącz/wyłącz - gniazdkiem S26 :wink:
    Wszelkie sugestie mile widziane
    Pozdrawiam

W sumie to nie trzeba chyba sprawdzać czy włączony bo jak jest włączony to stan procentowy o naładowaniu baterii przesyła po mqtt a jak niewłączony to nie przesyła, zatem wystarczą przykładowe dwie poniższe automatyzacje

pierwsza - niski poziom baterii:

alias: Laptop bateria low
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.nasz_laptop_battery
    below: '11'
condition: []
action:
  - service: ais_ai_service.say_it
    data:
      text: Uwaga laptop ma mały poziom baterii, ładuję!
  - service: switch.turn_on
    target:
      entity_id: switch.gniazdko_S26
mode: single

i druga - bateria naładowana:

alias: Laptop bateria high
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.nasz_laptop_battery
    above: '99'
condition: []
action:
  - service: switch.turn_off
    target:
      entity_id: switch.gniazdko_S26
mode: single
1 polubienie

jeszcze jedno pytanko, jak to ugryź:

sensor.nasz_laptop_battery

zwraca nie wartości a: Low, Charging, High oraz w przypadku gdy laptop jest ładowany Low charging oraz High charging
gdzieś w mqtt explorer widziałem u siebie funkcje która zwraca % baterii ale warunek musiał by być z mqtt.
dokładnie taki:

iotlink/workgroup/desktop-hsil8on/windows-monitor/stats/battery/remaining-percent

Zrobionym encję z wartością, a potem:

Ewentualnie od razu ‘template sensor mqtt’.

A masz w encjach jakiś sensor związany z iotlink?