Pstryk -integracja

Może ktoś polecić dobrą intergrację licznika/miernika od Pstryk?

Podobno nikt trzeźwo myślący nie zdecydował się na tego dostawcę…

W ogóle jest to temat “na cenzurowanym” ze względu na nieetyczne reklamy i uporczywy spam…

Jeśli masz taki miernik/licznik to wrzuć foty, jeśli możesz rozbierz obudowę i pokaż wnętrze, zrób jakieś ruchy w kierunku reverse engineering (ktoś kiedyś sugerował że być może jest to sprzęt od Blebox, ale ja wątpię).
Temat poleci w kubeł jeśli nie opublikujesz czegoś od siebie, co byłoby jakąś istotną informacją mogącą popchnąć temat do przodu (tj. spam jest zakazany jakby co, więc marketingowy bełkot sobie darujmy).

Hmmm. Dziwne bo umowę podpisałem na trzeźwo. Byłem pierwszy?
Pytam jak najbardziej serio. Miernik faktycznie ma logo Blebox.

Aplikacja od Pstryka udostępnia klucz API . Nic myślałem, że ktoś podpowie która integracja lepsza. Poprosze czat GPT :slight_smile:
A skoro to temat zakazany -prosze usunąć post.

Zakazany z powodu nieetycznych reklam. Póki nie będziesz próbował na siłę namawiać/sprzedawać problemu nie ma.
Skoro sprzęt od Bleboxa, to pierwsze co bym zrobił, to zobaczył czy integracja Blebox zadziała (załóżmy, że to jest switchBoxD DIN lub coś z nim zgodnego).

Skoro jest klucz API to jest pewnie jakieś API, ale w witrynie tego sprzedawcy nie widziałem jak dotąd nic użytecznego.

1 Like

Namawiać nikogo nie mam zamiaru. Ja chciałem tylko odczyty mieć w HA.
Kolega GPT znalazł mi 3 intergracje:
https://github.com/mateusz-orawczak/Home-Assistant-custom-components-Pstryk
https://github.com/klolik/ha-pstryk-api
https://github.com/klolik/ha-pstryk-energy-meter
Teraz muszę tylko wypróbować czy i jak działają.
I sprawa rozwiązana -działają wszystkie i nawet ta od Blebox. :slight_smile:

2 Likes

znalezione w internecie

1 Like

Dzięki. Całkiem fajna.

Witam, czy kolega wybrał którąś integrację?

Sorki, że dopiero odpowiadam ale byłem na urlopie.
GitHub - kubass4/Pstryk-all-in-one
Tej używam -czasem cena się przycina i nie zmienia ale samo się potem naprawia.

Dzięki także na nią trafiłem na forum pstryka na Facebooku i ją zainstalowałem wydaje się że ma najwięcej parametrów odczytywanych z API

@szopen - chyba kolejny raz miałeś/mieliśmy rację :wink:.

Wczoraj gruchnęła na grupie FB Pstryk wiadomość o wyłączeniu API. Tym samym integracje przestaną działać. Tłumaczenie jest pokrętne i wywołało duże oburzenie użytkowników.

Gdy przed rokiem ruszyła nachalna reklama (głównie szeptana) tej firmy, (ale nie tylko), to aż biło po oczach, że jest zbyt pięknie. Spamowanie naszego forum też miało cel, udostępnienie API i zchęcanie do tworzenia integracji z innymi systemami również. Moim zdaniem strategia okazała się skuteczna, pozyskano rynek. Rozwiązanie rozpropagowane, sprzęt się sprzedaje, ale główna zaleta dzięki której pstryk zyskał popularność wśród nerdów, czyli otwarte API, właśnie zostaje zabierane. Całe tłumaczenie dla użytkowników HA i twórców integracji jest słabe i wywołało dużo emocji.

Zrobię wyjątek i podlinkuję do FB, bo komentarze mówią więcej.

Czy tam też integracja bleBox podaje błędne dane o natężeniu i pobieranej mocy gdy integrujecie miernik od Pstryk? Można coś z tym zrobić?

Z jakiej integracji korzystasz? Blebox?

Podajesz jakieś dane logowania czy masz puste przy setupie?

Siema.

Czy udało Ci się coś ustalić w sprawie tych błędnych wskazań. U mnie jednak też nie jest ok, mam tak samo jak Ty, prąd w mA (po zmianie jednostek na A pokazuje 0,007, zamiast 7A) i energia ma wartości z kosmosu. Kontaktowałem się z Pstryk, ale nic nie wiedzą, bo to nie jest ich integracja, tylko Blebox. Więc napisałem do Blebox, ale na razie cisza…..

Jeśli natężenie prądu (I) jest źle interpretowane, to naliczanie energii (kWh) również będzie błędne, ponieważ energia jest wynikiem całkowania mocy w czasie (P = U * I * cos φ). Błąd w jednej zmiennej kaskadowo psuje wszystkie statystyki zużycia.

Chociaż fizycznie licznik to sprzęt Blebox, to prawdopodobnie posiada on
Customowy Firmware. Wersja oprogramowania od Pstryk może wysyłać dane przez API w formacie, którego standardowa integracja Blebox nie rozpoznaje w 100% poprawnie.


Można stworzyć w HA własnye encje (sensorów), które mnożą/dzielą wynik przez 1000.

@undeniable @Mariusz_Woszczyński

Zgłosiłem błąd do Bleboxa mailem i na Githubie, udało mi się też zmodyfikować integrację HA by wskazania były poprawne. Blebox dość szybko naprawił ten problem niżej, w kodzie ich uniapi.

Od trzech tygodni PR na Githubie czeka na akceptację kogoś z Bleboxa, potem jeszcze muszą zrobić nowy release uniapi oraz PR do HA z aktualizacją zależności + kilka dni czekania na release HA. Mam nadzieję że wkrótce to wyklikają.

2 Likes

Poprawka już dodana do HA :slight_smile: Wejdzie w kolejnym release pewnie za tydzień-dwa.

Niestety ale z poprawką czy nie blebox po prostu za wolno zczytuje dane, żeby móc go używać np. do sterowania prądem ładowania baterii, co by nie wysadzić eSki jak są powłączane grzejniki i kompresor w lodówce albo klimie się włączy.

Można po prostu surowo parsować tego jsona, a wtedy polling i co sekundę działa (value template po to, żeby nie pchać w state wszystkiego - limit 255 znaków + i tak z włączonym rekorderem HA ma ciężko przy takim pollingu):

sensor:
  - platform: rest
    name: "Pstrykometr Gniazdo"
    resource: http://adres_ip/state
    scan_interval: 1
    timeout: 2
    value_template: "OK" 
    json_attributes:
      - multiSensor

template:
  - sensor:

      # ───── TOTAL (ID 0) ─────

      - name: "BleBox Total Active Power"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','activePower')
              | selectattr('id','equalto',0)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) | round(0)
          }}

      - name: "BleBox Total Current"
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','current')
              | selectattr('id','equalto',0)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 1000 | round(3)
          }}

      - name: "BleBox Total Voltage"
        unit_of_measurement: "V"
        device_class: voltage
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','voltage')
              | selectattr('id','equalto',0)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 10 | round(1)
          }}

      - name: "BleBox Total Frequency"
        unit_of_measurement: "Hz"
        device_class: frequency
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','frequency')
              | selectattr('id','equalto',0)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 1000 | round(2)
          }}


      # ───── L1 (ID 1) ─────

      - name: "BleBox L1 Active Power"
        unit_of_measurement: "W"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','activePower')
              | selectattr('id','equalto',1)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) | round(0)
          }}

      - name: "BleBox L1 Current"
        unit_of_measurement: "A"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','current')
              | selectattr('id','equalto',1)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 1000 | round(3)
          }}

      - name: "BleBox L1 Voltage"
        unit_of_measurement: "V"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','voltage')
              | selectattr('id','equalto',1)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 10 | round(1)
          }}


      # ───── L2 (ID 2) ─────

      - name: "BleBox L2 Active Power"
        unit_of_measurement: "W"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','activePower')
              | selectattr('id','equalto',2)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) | round(0)
          }}

      - name: "BleBox L2 Current"
        unit_of_measurement: "A"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','current')
              | selectattr('id','equalto',2)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 1000 | round(3)
          }}

      - name: "BleBox L2 Voltage"
        unit_of_measurement: "V"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','voltage')
              | selectattr('id','equalto',2)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 10 | round(1)
          }}


      # ───── L3 (ID 3) ─────

      - name: "BleBox L3 Active Power"
        unit_of_measurement: "W"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','activePower')
              | selectattr('id','equalto',3)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) | round(0)
          }}

      - name: "BleBox L3 Current"
        unit_of_measurement: "A"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','current')
              | selectattr('id','equalto',3)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 1000 | round(3)
          }}

      - name: "BleBox L3 Voltage"
        unit_of_measurement: "V"
        state_class: measurement
        state: >
          {{
            (
              state_attr('sensor.pstrykometr_gniazdo','multiSensor').sensors
              | selectattr('type','equalto','voltage')
              | selectattr('id','equalto',3)
              | map(attribute='value')
              | first
              | default(0,true)
              | float
            ) / 10 | round(1)
          }}
2 Likes

… A poprawka jednostek/wartości natężenia i całkowitego poboru weszła w HA Core 2026.5.0