Kanały KPOP i KLOP dodajemy standardowo do pliku konfiguracyjnego yaml analogicznie jak każdy inny kanał.
GeneralPurposeMeasurementParsed (KPOP) oraz GeneralPurposeMeterParsed (KLOP)
Parametr obowiązkowy:
value - określa klucz/indeks, z którego pobierane są dane z parsera. Opcjonalne parametry:
multiplier - określa mnożnik dla pobranej wartości (możesz wprowadzić dowolną liczbę zmiennoprzecinkową).
default_value_multiplier - określa domyślny mnożnik dla wartości (możesz wprowadzić dowolną liczbę zmiennoprzecinkową).
default_value_divider - określa domyślny dzielnik dla wartości (możesz wprowadzić dowolną liczbę zmiennoprzecinkową).
default_value_added - określa domyślną dodatkową wartość (możesz wprowadzić dowolną liczbę zmiennoprzecinkową).
default_value_precision - określa domyślną precyzję (liczbę cyfr po przecinku) - dozwolone wartości: 0, 1, 2, 3, 4.
default_unit_before_value - określa jednostkę wyświetlaną przed wartością (możesz wprowadzić dowolny ciąg znaków o długości do 14 bajtów).
default_unit_after_value - określa jednostkę wyświetlaną po wartości (możesz wprowadzić dowolny ciąg znaków o długości do 14 bajtów).
Opis w readme jest tutaj:
https://github.com/SUPLA/supla-device/t ... mentparsed
Przykład z użyciem KPOP dla pomiarów stężenia PM1, PM2.5, PM10 przy integracji z airly:
https://github.com/SUPLA/supla-device/b ... ample.yaml
Niedługo pojawi się też możliwość wyboru innej domyślnej ikony (z zestawu ikon dostępnych na Cloud) oraz możliwość ustawienia początkowej nazwy kanału - dam znać jak to będzie dodane.
sd4linux - KPOP i KLOP
-
- Posts: 2109
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
Krzychu, proszę o pomoc w ustawieniu tego kanału , twój przykład jest z json , a jak z pobieraniem danych z pliku txt
Teraz mam tak , ale to nie tak, bo nie działa
EDIT: poprawiłem na tak:
kanał się dodał ale nie pokazuje wartości z pliku tylko kreski
EDIT 2:
plik jest odświeżany co 1min
Teraz mam tak , ale to nie tak, bo nie działa
Code: Select all
- type: GeneralPurposeMeasurementParsed # Index UV
name: Index_uv
default_value_precision: 0
parser:
name: parser_1
type: Simple
refresh_time_ms: 200
value: /home/wyse/Sainlogic/uv.txt
EDIT: poprawiłem na tak:
Code: Select all
- type: GeneralPurposeMeasurementParsed # Index UV
name: Index_uv
default_value_precision: 0
value: 1
source:
type: File
file: /home/wyse/Sainlogic/uv.txt
parser:
type: Simple
refresh_time_ms: 200
EDIT 2:
Code: Select all
mar 14 22:28:49 wyse supla-device-linux[2040]: DEBUG[1710451729.202825] File: file "/home/wyse/Sainlogic/uv.txt" is too old
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Wezmę udział w Supla Offline Party 2024
Wezmę udział w Supla Offline Party 2024

-
- Posts: 424
- Joined: Thu Jan 07, 2021 12:16 pm
- Location: Skórzewo, Poznań
Poniżej moj przykład KPOP ktory pobiera dane z pliku txt, może pomożeshimano73 wrote: Thu Mar 14, 2024 8:44 pm Krzychu, proszę o pomoc w ustawieniu tego kanału , twój przykład jest z json , a jak z pobieraniem danych z pliku txt
Teraz mam tak , ale to nie tak, bo nie działaCode: Select all
- type: GeneralPurposeMeasurementParsed # Index UV name: Index_uv default_value_precision: 0 parser: name: parser_1 type: Simple refresh_time_ms: 200 value: /home/wyse/Sainlogic/uv.txt
EDIT: poprawiłem na tak:kanał się dodał ale nie pokazuje wartości z pliku tylko kreskiCode: Select all
- type: GeneralPurposeMeasurementParsed # Index UV name: Index_uv default_value_precision: 0 value: 1 source: type: File file: /home/wyse/Sainlogic/uv.txt parser: type: Simple refresh_time_ms: 200
EDIT 2:plik jest odświeżany co 1minCode: Select all
mar 14 22:28:49 wyse supla-device-linux[2040]: DEBUG[1710451729.202825] File: file "/home/wyse/Sainlogic/uv.txt" is too old

Code: Select all
#PM2.5
- type: GeneralPurposeMeasurementParsed
name: PM2.5
default_unit_after_value: "%"
default_value_precision: 1
value: 0
source:
type: File
file: "/home/pi/Weather/syngeos-air-pm25.txt"
expiration_time_sec: 380
parser:
type: Simple
refresh_time_ms: 5000
-
- Posts: 11239
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
"value: 1" oznacza, że program będzie szukać wartości w drugiej linijice pliku. Jeśli masz tam tylko jedną linię z pomiarem, to użyj "value: 0"shimano73 wrote: Thu Mar 14, 2024 8:44 pmplik jest odświeżany co 1minCode: Select all
- type: GeneralPurposeMeasurementParsed # Index UV name: Index_uv default_value_precision: 0 value: 1 source: type: File file: /home/wyse/Sainlogic/uv.txt parser: type: Simple refresh_time_ms: 200
-
- Posts: 2109
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
Ok, zrobione , działa. Dodałem
dla 60 sekundowego odświeżania pliku
ustawiłem
W jaki sposób najszybciej resetować supla-device aby zaciągał nowe dane z pliku yaml ? W ja zwykle restartuję cały system a to chwilę trwa dodatkowo komunikuję się z moim wyse po ssh.
Code: Select all
expiration_time_sec: 70
ustawiłem
Code: Select all
value : 0
W jaki sposób najszybciej resetować supla-device aby zaciągał nowe dane z pliku yaml ? W ja zwykle restartuję cały system a to chwilę trwa dodatkowo komunikuję się z moim wyse po ssh.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Wezmę udział w Supla Offline Party 2024
Wezmę udział w Supla Offline Party 2024

-
- Posts: 11239
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
A jak masz postawiony serwis?shimano73 wrote: Sat Mar 16, 2024 5:50 pm Ok, zrobione , działa. Dodałemdla 60 sekundowego odświeżania plikuCode: Select all
expiration_time_sec: 70
ustawiłemCode: Select all
value : 0
W jaki sposób najszybciej resetować supla-device aby zaciągał nowe dane z pliku yaml ? W ja zwykle restartuję cały system a to chwilę trwa dodatkowo komunikuję się z moim wyse po ssh.
Ja używam: sudo service supla-device-moja-nazwa restart
Ale konkretne polecenie zależy od tego czym uruchamiasz serwisy
-
- Posts: 2109
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
OK, kolejne pytanie jak przypisać nazwę do kanału , próbowałem tak :
ale nie działa 
edit : już znalazłem , ma byc
teraz działa
Code: Select all
- type: GeneralPurposeMeasurementParsed # Index UV
name: Index_uv
setInitialCaption: "Index UV"
default_value_precision: 0
value: 0
source:
type: File
file: /home/wyse/Sainlogic/uv.txt
expiration_time_sec: 70
parser:
type: Simple
refresh_time_ms: 200

edit : już znalazłem , ma byc
Code: Select all
initia_caption: "Index UV"
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Wezmę udział w Supla Offline Party 2024
Wezmę udział w Supla Offline Party 2024
