Sensor - šablona

Co umí šablony a jak je využívat.
jag
Nováček na fóru
Nováček na fóru
Příspěvky: 9
Registrován: 21. leden 2023, 23:31
Dal poděkování: 1 poděkování

Re: Sensor - šablona

Příspěvek od jag »

Dobrý den, prosím o pomoc. Pokouším se připojit wifi teploměr se třemi čidly. Teploměr je v domácí síti a má pevnou IP. Po zadání: curl -X GET http://192.168.2.110/temp/ do CMD dostanu odpověď {"temp":"24.75","t2":"24.69","t3":"24.56"}. Nikde mi to nehlásí chybu, ale v entitách senzory nevidím.

Kód: Vybrat vše

sensor:
  - platform: rest
    scan_interval: 10s
    resource: http://192.168.2.110/temp/
    method: GET
    headers: 
      Content-Type: "application/x-www-form-urlencoded"
    name: brrr teplomer
    json_attributes:
      - temp
      - t2
      - t3
    value_template: 'OK'  # dummy value, not used; avoids the "State max length is 255 characters" error
    sensors:
      - name: Teplota 1
        unique_id: teplota_1
        value_template: "{{ state_attr('sensor.teplota_1', 'temp') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        
      - name: Teplota 2
        unique_id: teplota_2
        value_template: "{{ state_attr('sensor.teplota_2', 't2') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        
      - name: Teplota 3
        unique_id: teplota_3
        value_template: "{{ state_attr('sensor.teplota_3', 't3') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Sensor - šablona

Příspěvek od acerot »

Neinspiroval ses náhodou tady v helpu? https://www.home-assistant.io/integrati ... -as-values
Nechybí ti tam před sensors: řádek - platform: template ?

jag
Nováček na fóru
Nováček na fóru
Příspěvky: 9
Registrován: 21. leden 2023, 23:31
Dal poděkování: 1 poděkování

Re: Sensor - šablona

Příspěvek od jag »

Doplnil jsem - platform: template , ale senzory v entitách po restartu stále nevidím. Jinak tu šablonu mám poslepovanou ze všeho možného.

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Sensor - šablona

Příspěvek od acerot »

Píšeš, že je nevidíš v entitách - vidíš je ve stavech ve Vývojářských nástrojích?

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1609
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 145 poděkování
Dostal poděkování: 194 poděkování
Kontaktovat uživatele:

Re: Sensor - šablona

Příspěvek od Lion® »

nechceš to náhodou takto?

Kód: Vybrat vše

sensor:
  - platform: rest
    scan_interval: 10s
    resource: http://192.168.2.110/temp/
    method: GET
    headers: 
      Content-Type: "application/x-www-form-urlencoded"
    name: brrr teplomer
    json_attributes:
      - temp
      - t2
      - t3
    value_template: 'OK'  # dummy value, not used; avoids the "State max length is 255 characters" error
    
  - platform: template
    sensors:
      teplota_1:
        friendly_name: "Teplota 1"
        value_template: "{{ state_attr('sensor.teplota_1', 'temp') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        entity_id: sensor.brrr_teplomer
        
      teplota_2:
        friendly_name: "Teplota 2"
        value_template: "{{ state_attr('sensor.teplota_2', 't2') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        entity_id: sensor.brrr_teplomer
        
      teplota_3:
        friendly_name: "Teplota 3"
        value_template: "{{ state_attr('sensor.teplota_3', 't3') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        entity_id: sensor.brrr_teplomer

________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

jag
Nováček na fóru
Nováček na fóru
Příspěvky: 9
Registrován: 21. leden 2023, 23:31
Dal poděkování: 1 poděkování

Re: Sensor - šablona

Příspěvek od jag »

Díky za pomoc, už to funguje. Chybu jsem měl v šabloně hned na začátku. Pokusím se to popsat. V configuration.yaml mám zápis sensor: !include_dir_merge_list sensors/ a mám vytvořený adresář config/sensors. Do sensors by se pak měly dávat sobory se senzory. Toto jsem vyčetl tady na fóru od Kiwi-ho, od kterého tam mám soubor s mnoha senzory pro střídač Solax. Popis šablony v souboru už nesmí začínat sensor: . Přikládám šablonu, jak mi nyní funguje.

Kód: Vybrat vše

  - platform: rest
    scan_interval: 10
    resource: http://192.168.2.110/temp/
    method: GET
    name: brrr teplomer
    json_attributes:
      - temp
      - t2
      - t3
    value_template: 'OK'  # dummy value, not used; avoids the "State max length is 255 characters" error
  - platform: template
    sensors:
    
      teplota_1:
        friendly_name: "Teplota 1"
        unique_id: teplota_1
        value_template: "{{ state_attr('sensor.brrr_teplomer', 'temp') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        
      teplota_2:
        friendly_name: "Teplota 2"
        unique_id: teplota_2
        value_template: "{{ state_attr('sensor.brrr_teplomer', 't2') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        
      teplota_3:
        friendly_name: "Teplota 3"
        unique_id: teplota_3
        value_template: "{{ state_attr('sensor.brrr_teplomer', 't3') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"

Uživatelský avatar
pyxis
Nováček na fóru
Nováček na fóru
Příspěvky: 7
Registrován: 28. březen 2023, 09:33

Re: Sensor - šablona

Příspěvek od pyxis »

Vidím, že se tu řeší asi stejný teploměr
Adresa: http://192.168.1.160/
Teplomer.jpg

Kód: Vybrat vše

sensor:
  - platform: rest
    scan_interval: 10
    resource: http://192.168.1.160/
    method: GET
    name: brrr teplomer
    json_attributes:
      - temp
      - t2
      - t3
    value_template: 'OK'  # dummy value, not used; avoids the "State max length is 255 characters" error
  - platform: template
    sensors:
    
      teplota_1:
        friendly_name: "Teplota 1"
        unique_id: teplota_1
        value_template: "{{ state_attr('sensor.brrr_teplomer', 'temp') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        
      teplota_2:
        friendly_name: "Teplota 2"
        unique_id: teplota_2
        value_template: "{{ state_attr('sensor.brrr_teplomer', 't2') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
        
      teplota_3:
        friendly_name: "Teplota 3"
        unique_id: teplota_3
        value_template: "{{ state_attr('sensor.brrr_teplomer', 't3') }}"
        unit_of_measurement: "°C"
        icon_template: "mdi:thermometer"
        device_class: "temperature"
Výsledek:
Teplota 1.jpg
Poradíte, kde mám chybu? :oops:

jag
Nováček na fóru
Nováček na fóru
Příspěvky: 9
Registrován: 21. leden 2023, 23:31
Dal poděkování: 1 poděkování

Re: Sensor - šablona

Příspěvek od jag »

Řádedek resource zkus opravit takto
resource: http://192.168.1.160/temp/
Tam by měl mít tento teploměr adresu na json.

Uživatelský avatar
pyxis
Nováček na fóru
Nováček na fóru
Příspěvky: 7
Registrován: 28. březen 2023, 09:33

Re: Sensor - šablona

Příspěvek od pyxis »

Na této adrese mám jen jednu teplotu: {"temp":"31.25"}
Výsledek je stejný.

jag
Nováček na fóru
Nováček na fóru
Příspěvky: 9
Registrován: 21. leden 2023, 23:31
Dal poděkování: 1 poděkování

Re: Sensor - šablona

Příspěvek od jag »

To je nějaké krátké. mělo by to vypadat takto: {"temp":"24.75","t2":"24.69","t3":"24.56"}. Můj teploměr má označení Teplomer_UNI_7397, ale chovat by se to snad mělo stejně. Zadej do příkazového řádku:
curl -X GET http://192.168.1.160/temp/
a uvidíme jakou dostaneš odpověď.

Odpovědět

Zpět na „Šablony“