supla-device na Linux
-
- Posts: 2110
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
Super, zrobiłem, działa. Czy jest możliwe aby do kanału "ThermHygroMeterParsed" podstawiać dane z dwóch osobnych plików ?
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: 11318
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Nie ma takiej opcji.shimano73 wrote: Wed Jan 11, 2023 8:42 am Super, zrobiłem, działa. Czy jest możliwe aby do kanału "ThermHygroMeterParsed" podstawiać dane z dwóch osobnych plików ?
Ale jeśli masz te dane w dwóch plikach, to można użyć parsera ze źródłem "komendowym" i wstawić komendę w stylu:
cat temp.txt && cat humi.txt
Te komendy dadzą na output zawartość obu plików. Potem w parserze ustawiasz z której lini ma czytać które dane i będzie działać.
Jedynie przy źródłe "komendowym" nie ma weryfikacji daty ostatniej modyfikacji plików, więc wartość kanału nie zmieni się na "---" przy starym pliku.
Supla: bo GPIO to dopiero początek.
-
- Posts: 2110
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
Mam małą zagwostkę
, kanał się dodał ale danych nie ma
Tak wygląda konfiguracja
Gdzie jest problem ?


Tak wygląda konfiguracja
Code: Select all
- type: ThermHygroMeterParsed
name: th8
source:
type: Cmd
command: cat /home/dariusz/Sainlogic/indoortempf.txt && cat /home/dariusz/Sainlogic/indoorhumidity.txt
parser:
type: Simple
# temperature is read from first line of txt file
temperature: 0
# humidity is read from second line of txt file
humidity: 1
multiplier_temp: 1
multiplier_humi: 1
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: 11318
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Wstaw całą komendę w " ".shimano73 wrote: Wed Jan 11, 2023 9:46 am Mam małą zagwostkę, kanał się dodał ale danych nie ma
![]()
Tak wygląda konfiguracjaGdzie jest problem ?Code: Select all
- type: ThermHygroMeterParsed name: th8 source: type: Cmd command: cat /home/dariusz/Sainlogic/indoortempf.txt && cat /home/dariusz/Sainlogic/indoorhumidity.txt parser: type: Simple # temperature is read from first line of txt file temperature: 0 # humidity is read from second line of txt file humidity: 1 multiplier_temp: 1 multiplier_humi: 1
Jeśli nie pomoże to włącz sobie debugowe logi i zobacz co się pojawia na konsoli.
Supla: bo GPIO to dopiero początek.
-
- Posts: 3191
- Joined: Fri Dec 27, 2019 6:22 pm
- Location: Żerniki Wrocławskie
możesz pominąć && cat
i zamiast
użyć
i zamiast
Code: Select all
command: "cat /home/dariusz/Sainlogic/indoortempf.txt && cat /home/dariusz/Sainlogic/indoorhumidity.txt"
Code: Select all
command: "cat /home/dariusz/Sainlogic/indoortempf.txt /home/dariusz/Sainlogic/indoorhumidity.txt"
Widzimy się na Supla Offline Party Season 2025


-
- Posts: 2110
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
Na razie bez powodzenia, odnoszę wrażenie iż ta komenda cat po połączeniu plików tworzy jeden wiersz
Po wykonaniu
otrzymałem 20.647 gdzie temp= 20.6 a humi =47
Po wykonaniu
Code: Select all
cat /home/dariusz/Sainlogic/indoortempf.txt /home/dariusz/Sainlogic/indoorhumidity.txt > /home/dariusz/Sainlogic/temp_humi.txt
otrzymałem 20.647 gdzie temp= 20.6 a humi =47
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: 3191
- Joined: Fri Dec 27, 2019 6:22 pm
- Location: Żerniki Wrocławskie
Code: Select all
$ cat test1 test2
test1
test2
W twoich plikach nie ma znaku kończ linii, dlatego.
Widzimy się na Supla Offline Party Season 2025


-
- Posts: 11318
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
U mnie też daje w osobne linie.
Możesz dodać plik "new_line.txt" i wstaw tam pustą linię (enter).
Następnie
cat 1.txt new_line.txt 2.txt
Możesz dodać plik "new_line.txt" i wstaw tam pustą linię (enter).
Następnie
cat 1.txt new_line.txt 2.txt
Supla: bo GPIO to dopiero początek.
-
- Posts: 3191
- Joined: Fri Dec 27, 2019 6:22 pm
- Location: Żerniki Wrocławskie
Bez znaku końca linii:
Ze znakiem końca linii:
Rozwiązanie zaproponowane przez @klew
Code: Select all
$ echo -n 20.6 > test1; echo -n 47 > test2; cat test1 test2
20.647
Code: Select all
$ echo 20.6 > test1; echo 47 > test2; cat test1 test2
20.6
47
Code: Select all
$ echo -n 20.6 > test1; echo -n 47 > test2; echo > nl; cat test1 nl test2
20.6
47
Widzimy się na Supla Offline Party Season 2025


-
- Posts: 2110
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
Te moje pliki z wartościami są tworzone w pliku PHP który sam napisałem.
Tak wyglada część odpowiedzialna za zapis do pliku
Jak dopisać znak konca lini do tego pliku ?
EDIT: Ogarnięte , dzięki za wskazówki
Tak wyglada część odpowiedzialna za zapis do pliku
Code: Select all
$new_value = round( (5.0 / 9 * (floatval($value) - 32 )), 1);
$fp = fopen($path."indoortempf.txt", "w");
fwrite($fp,$new_value);
fclose($fp);
break;
EDIT: Ogarnięte , dzięki za wskazówki
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
