SmogTok integracja z Home Assistant

Czy ktoś próbował i wie jak skonfigurować w HA te urządzenie ? Producent twierdzi że współpracuje z HA.
Poniżej link do aukcji:
https://allegro.pl/oferta/smogtok-zewnetrzny-pylomierz-stacja-meteo-11048389664

Co z tego, że twierdzi (przeczytałem jego FAQ) ale nic konkretnego nie podaje.

Jakie są możliwości dostępu do danych z czujnika?

Dane z czujnika są dostępne na naszej stronie intenetowej (dostosowanej zarówno do komputerów stacjonarnych jak i do smartfonów czy tabletów). Poniżej wymienione są inne, bezpłatne opcje dostępu do danych z czujników:
- Serwer FTP właściciela czujnika - czujnik po zainstalowaniu może wysyłać odczyty na serwer FTP.
- API REST udostępniane na serwerach SmogTok.
- Widget SmogTok dla wybranego czujnika.
Prosimy o kontakt na adres e-mail: smogtok@gmail.com w celu ustalenia sposobu użycia tych opcji.*

Uwaga! Dostęp do danych poprzez serwer FTP nie wymaga komunikacji z serwerem SmogTok.

Jak widać należy skontaktować sie z producentem.

Otrzymałem instrukcję, jednak od ponad tygodnia próbuję to ogarnąć i nadal nie działa.

INSTRUKCJA:

W pliku konfiguracji configuration.yaml należy wprowadzić poniższe wpisy:

  - platform: rest
    name: 'SmogTok'
    json_attributes:
      - IJP
      - REGS
    resource: https://smogtok.com/apprest/probedata/ABCD
    value_template: '{{ value_json.NAME }}'
  - platform: template
    sensors:
      stijp:
        friendly_name: 'ST IJP'
        value_template: '{{ states.sensor.smogtok.attributes["IJP"] }}'
      stpm25:
        friendly_name: 'ST PM 2.5'
        value_template: >
            {% for REG in states.sensor.smogtok.attributes.REGS %}
                {% if REG["REGNAME"]=="PM 2,5" %}
                    {{ REG["VALUE"] }}
                {% endif %}
            {% endfor %}
        unit_of_measurement: "ppm"
       stpm10:  
         friendly_name: 'ST PM 10'
         value_template: >
             {% for REG in states.sensor.smogtok.attributes.REGS %}
                 {% if REG["REGNAME"]=="PM 10" %}
                     {{ REG["VALUE"] }}
              {% endif %}
             {% endfor %}
        unit_of_measurement: "ppm"
       sttemp:
         friendly_name: 'ST Temperatura'
         value_template: >
             {% for REG in states.sensor.smogtok.attributes.REGS %}
                 {% if REG["REGNAME"]=="Temperatura" %}
                     {{ REG["VALUE"] }}
                 {% endif %}
             {% endfor %}
        unit_of_measurement: "°C"
       sthumi:
         friendly_name: 'ST Wilgotność'
         value_template: >
            {% for REG in states.sensor.smogtok.attributes.REGS %}
                 {% if REG["REGNAME"]=="Wilgotność" %}
                     {{ REG["VALUE"] }}
                 {% endif %}
             {% endfor %}
       unit_of_measurement: "%"  

Gdzie zamiast ABCD należy wstawić identyfikator czujnika.

Dlaczego w pierwszym poście nie przekazałeś takiej informacji? To co pokazałeś mysi być w sekcji sensor w pliku configuration.yaml:

sensor:
  - platform: 
    rest name: 'SmogTok' 
    json_attributes:
      - IJP

i powinno działać jak poprawisz jeszcze składnię yaml bo np. brakuje spacji przed
unit_of_measurement: “ppm”

Jeżeli nie zachowasz poprawnych wcięć nie bedzie działać, taki urok yaml’a.

Identyfikator czujnika jest “jawny” (można odczytać dowolny czujnik ze strony) więc nie musisz go ukrywać.

Edit: sprawdziłem na laptopie i tam jest wiecej błędów. Załaczyłem plik z poprawną składnią, musisz tylko wpisać identyfikator.
smogtok.yaml (1.7 KB)

1 polubienie

Poprawna konfiguracja jakby ktoś szukał w internetach.

Czujniki: Temperatura, wilgotność, ciśnienie atmosferyczne, PM 2.5, PM 10

# SMOGTOK
sensor:
  - platform: rest
    name: 'SmogTok'
    json_attributes:
       - IJP
       - REGS
    resource: https://smogtok.com/apprest/probedata/3517
    value_template: '{{ value_json.NAME }}'
  - platform: template
    sensors:
      stijp:
        friendly_name: 'ST IJP'
        value_template: '{{ states.sensor.smogtok.attributes["IJP"] }}'
      stpm25:
        friendly_name: 'ST PM 2.5'
        value_template: >
            {% for REG in states.sensor.smogtok.attributes.REGS %}
                {% if REG["REGNAME"]=="PM 2,5" %}
                    {{ REG["VALUE"] }}
                {% endif %}
            {% endfor %}
        unit_of_measurement: "µg/m³"
      stpm10:  
        friendly_name: 'ST PM 10'
        value_template: >
             {% for REG in states.sensor.smogtok.attributes.REGS %}
                 {% if REG["REGNAME"]=="PM 10" %}
                     {{ REG["VALUE"] }}
              {% endif %}
             {% endfor %}
        unit_of_measurement: "µg/m³"
      sttemp:
        friendly_name: 'ST Temperatura'
        value_template: >
             {% for REG in states.sensor.smogtok.attributes.REGS %}
                 {% if REG["REGNAME"]=="Temperatura" %}
                     {{ REG["VALUE"] }}
                 {% endif %}
             {% endfor %}
        unit_of_measurement: "°C"
      sthumi:
        friendly_name: 'ST Wilgotność'
        value_template: >
            {% for REG in states.sensor.smogtok.attributes.REGS %}
                 {% if REG["REGNAME"]=="Wilgotność" %}
                     {{ REG["VALUE"] }}
                 {% endif %}
             {% endfor %}
        unit_of_measurement: "%"  
      statm:
        friendly_name: 'ST Ciśnenie'
        value_template: >
            {% for REG in states.sensor.smogtok.attributes.REGS %}
                 {% if REG["REGNAME"]=="Ciśnienie" %}
                     {{ REG["VALUE"] }}
                 {% endif %}
             {% endfor %}
        unit_of_measurement: "hPa"  

Dzięki za wszelką pomoc i rady.

Popraw wcięcie w ostatniej linii. Wstawiłem u siebie i pięknie działa. Jeszcze ciśnienie dopisałem u siebie z pobliskiej stacji.