1

Téma: SDS Mikro - integrace s Home Assistant

Dobrý den, má prosím někdo vyřešeno zasílání (aktualizace) senzoru v Home Assistant tj. zaslání např. 1-wire teploty (ne periodické čtení xml ze SDS) a jeho zobrazení? Verze SDS Mikro LM bohužel nemá MQTT klienta, kde by se toto dalo elegantně řešit. Děkuji.

2

Re: SDS Mikro - integrace s Home Assistant

Tohle nebude právé ta očekávaná odpovéď - ale jedno z řešení je vyměnit micro-LM za micro-ST, které už MQTT má.

Jinak na HA by se to asi řešilo přes entitu https://developers.home-assistant.io/docs/core/entity/sensor takže by to snad na SDS napasovat jít mělo. Osobně jsem to ale ještě nedělal takže dále moc neporadím.

XML v SDS je přesně dané, nicméně teploty lze číst i přes jiné M2M stránky např. tempXX.htm nebo tempXX.txt atd.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: SDS Mikro - integrace s Home Assistant

Díky za odpověď. A není možné nějak v SDS=C http_post doplnit headers nepř. jak lze s curl viz. https://funprojects.blog/2020/12/12/home-assistant-rest-api/:
curl -X POST \
-H "Authorization: Bearer eyJ0eXAiOi....zLjc" \
-H "Content-Type: application/json" \
-d '{"state":"88.6", "attributes": {"unit_of_measurement": "%", "friendly_name": "Remote Input 1"}}' \
http://192.168.0.103:8123/api/states/sensor.myinput1

4

Re: SDS Mikro - integrace s Home Assistant

Headery ve starém FW přidat nejdou, ale nový FW pro SDS (zatím jen v rámci Druhé Produktové Řady) to umí.

Prakticky jak se na to dívám tak by byla potřeba jen to Authorization: xxx, což je otázka jestli by to nešlo nastavit na straně serveru aby to bylo ignorováno.

Teoreticky si lze na serveru udělat proxy, tzn. vlastní http server, který by to z micro-lm převzat a poslal do toho HA.
Pár řádku v pythonu... ale tady už moc neporadím (nicméně píšu protože jsem zaznamenal že to lidé tak používají).

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

5

Re: SDS Mikro - integrace s Home Assistant

Na tu proxy jsem také někde narazil, zkusím a nebo prohlásím moje SDS za zastaralé a vyřadím ho smile Díky

6

Re: SDS Mikro - integrace s Home Assistant

Právě proto jsou v prodeji aktualizované SDS které mají MQTT, aby se to nemuselo složitě řešit cestami okolo.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

7

Re: SDS Mikro - integrace s Home Assistant

Jestli někomu postačí prosté vyčítání dat  ze SDS v HA tak tady je jeden ze způsobů:

rest:
  - authentication: basic
    username: "admin"
    password: "password"
    scan_interval: 60
    resource: http://192.168.2.250/xml.xml
    sensor:
      - name: "SDS"
        json_attributes_path: "$.sds.snmp"
        value_template: "OK"
        json_attributes:
         - uptime
         - ntptime
         - relay_1
         - relay_2
         - temp_1
         - temp_2
         - temp_3
         - temp_4
         - temp_5
         - temp_6
         - temp_7
         - temp_8
         - temp_9
         - temp_10
         - temp_11
         - temp_12
         - temp_13
         - temp_14
         - temp_15
         - temp_16
      - name: "SDS_S1"
        json_attributes_path: "$.sds.snmp.s0_1"
        value_template: "OK"
        json_attributes:
         - impT0
         - imdiff
         - cT0
         - cT1
         - text
         - act
      - name: "SDS_S2"
        json_attributes_path: "$.sds.snmp.s0_2"
        value_template: "OK"
        json_attributes:
         - impT0
         - imdiff
         - cT0
         - cT1
         - text
         - act
#######################################################     
  - platform: template
    sensors:
      sds_temp1:
        friendly_name: "SDS_venkovni"
        unit_of_measurement: "°C"
        value_template: '{{ state_attr("sensor.sds","temp_1")|float }}'
      sds_temp2:
        friendly_name: "SDS_obyvak"
        unit_of_measurement: "°C"
        value_template: '{{ state_attr("sensor.sds","temp_2")|float }}'
   ...
      sds_temp16:
        friendly_name: "SDS_ESBE"
        unit_of_measurement: "°C"
        value_template: '{{ state_attr("sensor.sds","temp_16")|float }}'
      sds_s1_imp0:
        friendly_name: "SDS_S1_impt0f"
        unit_of_measurement: "imp"
        value_template: '{{ state_attr("sensor.sds_S1","impT0")|float }}'
      sds_s1_imdiff:
        friendly_name: "SDS_S1_imdiff"
        unit_of_measurement: "imp"
        value_template: '{{ state_attr("sensor.sds_S1","imdiff")|float }}'
      sds_s1_celk_spotreba:
        friendly_name: "SDS_S1_celk_spotreba"
        unit_of_measurement: "kWh"
        value_template: '{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}'
      sds_s1_akt_spotreba:
        friendly_name: "SDS_S1_akt_spotreba"
        unit_of_measurement: "kWh"
        value_template: '{{ state_attr("sensor.sds_S1","act").split(" ")[0]|float }}'


###########################
Ta první část vytváří tři entity  SDS, SDS_S1  SDS_S2 se stavem OK kde jsou ostatní data přiřazena jako atributy těchto proměnných. Další část převádí ty atributy na skutečné entity kde stav entity už odpovídá hodnotě - je provedena příslušná konverze. Je několik dalších způsobů jak to vyčítat, tento bere všechna data pomocí jednoho požadavku na SDS.

8

Re: SDS Mikro - integrace s Home Assistant

Doplněk do configuration.yml v HomeAssistant hlásí chybu konfigurace. Nemáte někdo novější verzi? Díky.

9 Naposledy upravil: jarin (2022-11-27 23:24:09)

Re: SDS Mikro - integrace s Home Assistant

Ahoj... priklad pro mereni ze sds1 (klimatizace) a sds3 (dvoutarifni elektromer):

configuration.yaml

# SDS implementation
rest:
  - authentication: basic
    username: "admin"
    password: "lpassword"
    scan_interval: 10
    resource: http://192.168.1.xxx/xml.xml
    sensor:
      - name: "SDS_S1"
        json_attributes_path: "$.sds.snmp.s0_1"
        value_template: "OK"
        json_attributes:
         - name
         - imdiff
         - text
         - act
      - name: "SDS_S3"
        json_attributes_path: "$.sds.snmp.s0_3"
        value_template: "OK"
        json_attributes:
         - name
         - imdiff
         - text_T0
         - text_T1
         - act

template:
  - sensor:
     - name: klima1_power
       unique_id: '6e30c334-a38d-491f-a152-87800b170f05'
       unit_of_measurement: W
       state_class: measurement
       device_class: power
       state: >
         {{ state_attr("sensor.sds_s1","act").split(" ")[0]|float*1000 }}
  - sensor:
     - name: klima1_energy_today
       unique_id: '1381b948-2a9e-4846-acca-0367a98cda46'
       unit_of_measurement: kWh
       state_class: total_increasing
       device_class: energy
       state: >
         {{ state_attr("sensor.sds_s1","text").split(" ")[0]|float }}
  - sensor:
     - name: elektormer_power
       unique_id: 'a68bbdec-6347-4e1b-8510-e038bf68f957'
       unit_of_measurement: W
       state_class: measurement
       device_class: power
       state: >
         {{ state_attr("sensor.sds_s3","act").split(" ")[0]|float*1000 }}
  - sensor:
     - name: elektromer_energy_today
       unique_id: '1d494069-fcbd-466c-b9b4-e2e016d9e85e'
       unit_of_measurement: kWh
       state_class: total_increasing
       device_class: energy
       state: >
         {{ state_attr("sensor.sds_s3","text_T0").split(" ")[0]|float +
         state_attr("sensor.sds_s3","text_T1").split(" ")[0]|float }}

10

Re: SDS Mikro - integrace s Home Assistant

Povedlo se mi na druhé produktové řadě normálně přes MQTT komunikaci - to funguje krásně, ale mám tu dvě desky první produktové řady a rád bych je použil - pomocí http get jsem dokázal poskytovat data do HA, ale potřebuji i ovládat relé na SDS z HA, a to vůbec nevím jak to udělám - prosím mohl by mi někdo poradit jak můžu přes http poslat do první produktové řady třeba na zapnutí relé ?
Předpokládám že MQTT u první produktové řady stále nefunguje.

Děkuji

11

Re: SDS Mikro - integrace s Home Assistant

Zrovna jsem si napsal skriptik na ovladani grazovych vrat a prisel jsem hledat, jak elegantne vycist vic dat najednou (coz jsem nasel), at neposilam desitky pozadavku na zjisteni teplot atp.
Tady je muj prvni nastrel ovladani garaze (Mam SDS Macro LM - bez MQTT) - staci jen prizpusobit ID sensoru a rele pro ovladani:

binary_sensor:
   - platform: rest
     name: "Garážová vrata"
     unique_id: garage_door_state
     method: GET
     resource: xxxx://192.168.xx.xx/get_sys[155]
     device_class: garage_door
     scan_interval: 5

rest_command:
  open_garage:
    method: GET
    url: "xxxx://192.168.xx.xx/sdscep?sys149=99"