Problem z Syngeos

Witam,
Mam problem z wyświetleniem w karcie z sensora syngeos.
Wygląda to tak że w karcie nie są wyświetlane dane encji
syn

W narzędziach deweloperskich sensor pokazuje dane

sensors:
  - unit: °C
    name: temperature
    data:
      - read_at: '2021-12-16T13:24:42+00:00'
        value: 8.5
    display_type: percent
  - unit: '%'
    name: humidity
    data:
      - read_at: '2021-12-16T13:24:42+00:00'
        value: 75.4
    display_type: percent
  - unit: hPa
    name: air_pressure
    data:
      - read_at: '2021-12-16T13:24:42+00:00'
        value: 1020.9
    display_type: percent
  - unit: µg/m³
    name: pm1
    data:
      - read_at: '2021-12-16T13:24:42+00:00'
        value: 2.59
    display_type: percent
  - unit: µg/m³
    name: pm2_5
    norm:
      threshold: 25
      grade_a:
        gte: 0
        lt: 13
      grade_b:
        gte: 13
        lt: 35
      grade_c:
        gte: 35
        lt: 55
      grade_d:
        gte: 55
        lt: 75
      grade_e:
        gte: 75
        lt: 110
      grade_f:
        gte: 110
    data:
      - read_at: '2021-12-16T13:24:42+00:00'
        value: 4.5
        current_norm: grade-a
        threshold_level: 18
    display_type: percent
  - unit: µg/m³
    name: pm10
    norm:
      threshold: 50
      grade_a:
        gte: 0
        lt: 20
      grade_b:
        gte: 20
        lt: 50
      grade_c:
        gte: 50
        lt: 80
      grade_d:
        gte: 80
        lt: 110
      grade_e:
        gte: 110
        lt: 150
      grade_f:
        gte: 150
    data:
      - read_at: '2021-12-16T13:24:42+00:00'
        value: 7.9
        current_norm: grade-a
        threshold_level: 15
    display_type: percent
friendly_name: Czujnik jakości powietrza

Co może być tego powodem?

Dzięki i pozdrawiam

Może po jakiejś aktualizacji zmieniły się nazwy encji, a te które masz w karcie są nieaktualne?
Spróbuj prostego triku - wejdź w edycję karty i w edytorze GUI spróbuj skasować ostatnie znaki nazwy encji - prawdopodobnie zobaczysz wtedy propozycję pasującej i aktualnej encji.

Można to ogarnąć też w inny sposób (o ile zgadłem, że się nazwy zmieniły) - usuwając te “martwe” encje, a nowe nazwać nazwami usuniętych (wiem zamotałem strasznie, ale jeśli się domyślisz to ogarniesz temat w kilka minut).

Wiem o co Ci chodzi. To raczej nie tu jest problem.

To poszukaj generalnie encji o tych funkcjach których encje zniknęły - czasem aktualizacje przynoszą tak radykalne zmiany nazw, że w ten sposób nie znajdziesz.

Nie używam tej integracji, więc nie jestem w stanie bardziej pomóc.

Mając wszystkie dane których potrzebujesz skorzystaj z template i utwórz Swoje encje.

Zgodnie z ostatnim trendem (skoro trend polega na zmianie atrybutów w encje) raczej nie spodziewam się konwersji encji w atrybuty wskutek aktualizacji, natomiast dodatkowe encje bywają domyślnie wyłączone.
Edit - pogoglowałem i to nie jest żadna gotowa integracja tylko rest i encje bazują właśnie na template - przepis jak to ogarnąć jest na HEJ blogu, więc najlepiej chyba popytać u źródła - zakładam, że autor tego używa.
A tamtejszy opis zapewne bazuje na (autor raczej ten sam)

Pewnie zmieniło się coś w strukturze/tablicy sensora i dlatego nie wyświetla wyniku.

@DanN_007 To co nam pokazałeś w narzędziach deweloperskich, to nie są te wyszarzone encje, tylko ich źródło zanim zostanie obrobione przez template.

@DanN_007 tutaj jest wszystko na temat Syngeos i działa - Jakość powietrza.

1 polubienie

@macek dzięki. Czytałem już wcześniej ale niestety raz że nie wiele jest na temat Syngeos’a a jak coś to już je przetestowałem ni za każdym razem efekt jest ten sam. Być może jest tak jak pisze @rafkan.

No nic. Będę kopał dalej, może i się uda to się podzielę.

:thinking: czyli gotowy plik z integracją nie działa (należy pobrać plik, zmienić rozszerzenie na .yaml)? Ponizej print screen z tamtego wątku:

Zrobiłem u siebie test: pobrałem plik, dodałem do HA, utworzyłem kartę:

entities:
  - entity: sensor.syngeos_id_997_read_at
  - entity: sensor.syngeos_id_997_temperature
  - entity: sensor.syngeos_id_997_humidity
  - entity: sensor.syngeos_id_997_air_pressure
  - entity: sensor.syngeos_id_997_pm1
  - entity: sensor.syngeos_id_997_pm10
  - entity: sensor.syngeos_id_997_pm2_5
type: entities

i otrzymałem to:

image

czyli u mnie działa.

Przyznasz chyba, że to dziwne by zamieszczać plik *.yaml w pliku z rozszerzeniem .json
Jak rozumiem to wynika z ograniczeń forum (@artur - czy jest możliwość poprawki ustawień?), ale nie każdy może wiedzieć co z tym zrobić.
Druga sprawa jest taka, że wyszarpane dane dla sensora/stacji 7919 mogą się drastycznie różnić od tych dla 997 sam zrobiłem test (copy+paste z tych linków które podrzuciłem wyżej ) na bazie stacji 905 i też działa (choć spodziewałem się problemów, bo ten gist ma 2 lata).

Tak, ograniczenia forum: nie można zrobić upload pliku z rozszerzeniem yaml, po jakimś czasie nie można edytować postów więc dodanie dodatkowych uzupełniających informacji jest niemożliwe.

@macek, przepraszam. Masz rację.

Użyłem tego kodu:

  - platform: rest
    scan_interval: 900
    name: syngeos 605
    resource: https://api.syngeos.pl/api/public/data/device/605
    value_template: " {{ address }}"
    json_attributes:
      - sensors
  - platform: template
    sensors:
      syngeos_605_temperature:
        value_template: '{{ states.sensor.syngeos_605.attributes["sensors"][0]["data"][0]["value"] }}'
        device_class: temperature
        unit_of_measurement: '°C'
      syngeos_605_humidity:
        value_template: '{{ states.sensor.syngeos_605.attributes["sensors"][1]["data"][0]["value"] }}'
        device_class: humidity
        unit_of_measurement: '%'
      syngeos_605_air_pressure:
        value_template: '{{ states.sensor.syngeos_605.attributes["sensors"][2]["data"][0]["value"] }}'
        unit_of_measurement: 'hPa'
      syngeos_605_pm25:
        value_template: '{{ states.sensor.syngeos_605.attributes["sensors"][3]["data"][0]["value"] }}'
        unit_of_measurement: 'µg/m³'
      syngeos_605_pm10:
        value_template: '{{ states.sensor.syngeos_605.attributes["sensors"][4]["data"][0]["value"] }}'
        unit_of_measurement: 'µg/m³'
      syngeos_605_pm1:
        value_template: '{{ states.sensor.syngeos_605.attributes["sensors"][5]["data"][0]["value"] }}'
        unit_of_measurement: 'µg/m³'

Zmieniłem tylko ID czujnika i zadziałało.

Bardzo Ci dziękuję za pomoc.

Musiało zadziałać, zawsze robię tak aby coś było proste i uniwersalne :slight_smile:.

1 polubienie

@DanN_007 witam sąsiada :wink: korzystam z tej samej stacji :slight_smile:
kod który wkleiłeś chyba ma pozamieniane wartości pyłów - sensory czytają wszystkie ale podstawiają w encjach dane innego czujnika. odczyt różni się względem np :

https://api.syngeos.pl/api/public/widget.html?deviceId=7919&sensorsList[0]=temperature&sensorsList[1]=humidity&sensorsList[2]=air_pressure&sensorsList[3]=pm1&sensorsList[4]=pm2_5&sensorsList[5]=pm10&template=vertical&theme=light&legend=false&fbclid=IwAR31Fh22qxXW1k3HynF-UrVSKypwqVcQ08gF9DwR2IDlBTTUc5UFKFINf5Y

Może lepiej wstawić w dashboard block html który wyświetli podany wyżej link ? Nie będzie historii ale przynajmniej ładnie wygląda.

A… witam sąsiada. Niby sieć jest wielka a jednak można spotkać przypadkowo kogoś z okolicy. :smile:

1 polubienie

Po wprowadzeniu tego kodu do sekcji ‘sensor:’ i restarcie HA, w nie mogę znaleźć odpowiednich encji.
Jakiś pomysł czemu się nie pokazują?

#SMOG
sensor:
  - platform: rest
    scan_interval: 900
    name: syngeos 8103
    resource: https://api.syngeos.pl/api/public/data/device/8103
    value_template: " {{ address }}"
    json_attributes:
      - sensors
  - platform: template
    sensors:
      syngeos_8103_temperature:
        value_template: '{{ states.sensor.syngeos_8103.attributes["sensors"][0]["data"][0]["value"] }}'
        device_class: temperature
        unit_of_measurement: '°C'
      syngeos_8103_humidity:
        value_template: '{{ states.sensor.syngeos_8103.attributes["sensors"][1]["data"][0]["value"] }}'
        device_class: humidity
        unit_of_measurement: '%'
      syngeos_8103_air_pressure:
        value_template: '{{ states.sensor.syngeos_8103.attributes["sensors"][2]["data"][0]["value"] }}'
        unit_of_measurement: 'hPa'
      syngeos_8103_pm25:
        value_template: '{{ states.sensor.syngeos_8103.attributes["sensors"][3]["data"][0]["value"] }}'
        unit_of_measurement: 'µg/m³'
      syngeos_8103_pm10:
        value_template: '{{ states.sensor.syngeos_8103.attributes["sensors"][4]["data"][0]["value"] }}'
        unit_of_measurement: 'µg/m³'
      syngeos_8103_pm1:
        value_template: '{{ states.sensor.syngeos_8103.attributes["sensors"][5]["data"][0]["value"] }}'
        unit_of_measurement: 'µg/m'

Edit:
Głupi błąd z mojej strony ale może się przydać jako ostrzeżenie.

Miałem kilka sekcji ‘sensor:’ w pliku configuration.yaml i HA zaczytywał mi tylko ostatnie wystąpienie.
Po wrzuceniu wszystko w jwdną sekcję ‘sensor:’ problem rozwiązany.

Okazuje się tylko że większość stacji w pobliżu to chyba jakieś stacje wewnątrz budynków bo pokazują dziwne temperatury :slight_smile:

Bo ludzie mają takie głupie pomysły, by udostępniać pomiary z wewnątrz mieszkań czy innych budynków w sieciach sensorów przeznaczonych do pomiaru parametrów powietrza na zewnątrz…