supla-device na Linux

przygod
Posts: 110
Joined: Wed Jul 17, 2019 9:31 am

Post

klew wrote: Fri Dec 23, 2022 11:03 am Nie wiem co to "wersja normal". Masz na myśli domyślną wartość parametru ze ścieżką?
Może nie wersja, po polsku to będzie bardziej tryb :) Wybacz.
You do not have the required permissions to view the files attached to this post.
bigthomas
Posts: 235
Joined: Mon Aug 12, 2019 3:35 pm

Post

klew wrote: Fri Dec 23, 2022 10:16 am To jest jakiś komunikat z tego polecenia, co odpalasz. Spróbuj go uruchomić z linii poleceń.
Wywołując z linii komend

Code: Select all

curl -XGET 'XXX.XXX.XXX.XXX/api/zap?sRef=1:0:1:9:1964:13E:820000:0:0:0:'
dostaję to:

Code: Select all

{
 "message": "Active service is now '1:0:1:9:1964:13E:820000:0:0:0:'",
 "result": true
}
User avatar
lukfud
Posts: 2301
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

bigthomas wrote: Fri Dec 23, 2022 9:01 am Druga kwestia to czy jest możliwość wywołania akcji na danym przekaźniku tak jak jest to w ESP "new Supla::Control::VirtualRelay()->turnOff()", aby móc po pewnym czasie go wyłączyć?
Wiem że mogę zmienić na automat schodowy i w ten sposób to realizować, ale jeżeli jest taka możliwość to dla mnie było by to lepszym rozwiązaniem.
Chodzi Ci o to, żeby móc wyłączyć przekaźnik w inny sposób niż przez serwer Supli?
https://www.facebook.com/groups/supladiy/
User avatar
klew
Posts: 10166
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

przygod wrote: Fri Dec 23, 2022 11:18 am
klew wrote: Fri Dec 23, 2022 11:03 am Nie wiem co to "wersja normal". Masz na myśli domyślną wartość parametru ze ścieżką?
Może nie wersja, po polsku to będzie bardziej tryb :) Wybacz.
Ok, teraz rozumiem.
W pliku konfiguracyjnym yaml możesz określić bezwzględną ścieżkę - wystarczy że wpiszesz tam "/var..."
bigthomas
Posts: 235
Joined: Mon Aug 12, 2019 3:35 pm

Post

lukfud wrote: Fri Dec 23, 2022 11:54 am
bigthomas wrote: Fri Dec 23, 2022 9:01 am Druga kwestia to czy jest możliwość wywołania akcji na danym przekaźniku tak jak jest to w ESP "new Supla::Control::VirtualRelay()->turnOff()", aby móc po pewnym czasie go wyłączyć?
Wiem że mogę zmienić na automat schodowy i w ten sposób to realizować, ale jeżeli jest taka możliwość to dla mnie było by to lepszym rozwiązaniem.
Chodzi Ci o to, żeby móc wyłączyć przekaźnik w inny sposób niż przez serwer Supli?
Bardziej mi chodziło aby wykorzystać linię komend aby móc wyłączyć dany przekaźnik, ale automat schodowy rozwiązuje problem.
Bo tak na prawdę potrzebuję aby wysłać GET'a poprzez włączenie. A żeby móc jeszcze raz uruchomić tą akcję to przekaźnik musi być w pozycji OFF.
User avatar
klew
Posts: 10166
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

bigthomas wrote: Fri Dec 23, 2022 11:44 am Wywołując z linii komend

Code: Select all

curl -XGET 'XXX.XXX.XXX.XXX/api/zap?sRef=1:0:1:9:1964:13E:820000:0:0:0:'
dostaję to:

Code: Select all

{
 "message": "Active service is now '1:0:1:9:1964:13E:820000:0:0:0:'",
 "result": true
}
bigthomas wrote: Fri Dec 23, 2022 9:01 am

Code: Select all

INFO[1671785487.392858] Relay[0] turn ON (duration 0 ms)
DEBUG[1671785487.392873] Channel(0) value changed to 1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    90  100    90    0     0   1232      0 --:--:-- --:--:-- --:--:--  1232
[b](23) Failed writing body[/b]
Te wszyskie rzeczy z: " % Total ..." wraz z "Failed writing body" pochodzą z tego curla, którego odpalasz.
maciej38
Posts: 25
Joined: Tue Sep 11, 2018 8:07 pm

Post

Cześć
Czy jest szansa aby supla-dev obsługiwała kanał nasłonecznienia/promieniowania lub długości/głębokości ?

Dotychczas korzystałem z SVD i nasłonecznienie miałem na kanale długości. Sprawdzało się.

Po przejściu na supla-dev zaimplementowałem to na kanale ThermometerParsed.
O ile w samej supli widzę wartości powyżej 2000 to w grafanie już nie. Jest dobrze gdzieś do ok 600
--
Każda dostatecznie zaawansowana technologia niczym nie różni się od magii.
Arthur C. Clarke
User avatar
klew
Posts: 10166
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

maciej38 wrote: Wed Jan 04, 2023 9:08 am Cześć
Czy jest szansa aby supla-dev obsługiwała kanał nasłonecznienia/promieniowania lub długości/głębokości ?

Dotychczas korzystałem z SVD i nasłonecznienie miałem na kanale długości. Sprawdzało się.

Po przejściu na supla-dev zaimplementowałem to na kanale ThermometerParsed.
O ile w samej supli widzę wartości powyżej 2000 to w grafanie już nie. Jest dobrze gdzieś do ok 600
Dodam taki kanał. Na razie wrzuciłem issue aby temat nie przepadł https://github.com/SUPLA/supla-device/issues/40
admoskal
Posts: 28
Joined: Mon Dec 25, 2017 11:32 am

Post

Witajcie.

Mam pytanie - czy supla-device obsługuje wejścia sterowane z cmd?

Próbowałem wstawić do configa coś takiego:

- type: BinaryParsed
name: PB0
source:
type: Cmd
command: "if (( ($(sudo i2cget -y 1 0x20 0x13) & 0x01 ) == 0x01)); then echo 0; else echo 1; fi"
parser:
type: Simple
refresh_time_ms: 1000


lecz nie działa...

Chciałbym zrobić na expanderze MCP23017 osiem wyjść i osiem wejść z pull-up.
Wyjścia już ładnie działają, wejść jeszcze nie potrafię obrobić.

Pozdrawiam.
admoskal
Posts: 28
Joined: Mon Dec 25, 2017 11:32 am

Post

Pytanie.

Podłączyłem expander MCP23017 - wstawiłem CmdRelay, przekaźniki ładnie działają na expanderze.

Mój plik konfiguracyjny wygląda tak :

# Example supla-device config file for Linux device
# https://github.com/SUPLA/supla-device

name: RockPiS
log_level: debug
state_files_path: "/home/xxxx/supla-stan"
security_level: 2 # disable certyficate verification

supla:
server: svrx.supla.org
mail: xxxx@xxxx.xxx.pl

channels:

# CmdRelay with state kept in memory and stored in storage
- type: CmdRelay
name: GPA0
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x01 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0xfe )))"

- type: CmdRelay
name: GPA1
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x02 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0xfd )))"

- type: CmdRelay
name: GPA2
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x04 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0xfb )))"

- type: CmdRelay
name: GPA3
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x08 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0xf7 )))"

- type: CmdRelay
name: GPA4
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x10 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0xef )))"

- type: CmdRelay
name: GPA5
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x20 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0xdf )))"

- type: CmdRelay
name: GPA6
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x40 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0xbf )))"

- type: CmdRelay
name: GPA7
initial_state: restore
cmd_on: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) | 0x80 )))"
cmd_off: "sudo i2cset -y 1 0x20 0x14 $(( ($(sudo i2cget -y 1 0x20 0x14) & 0x7f )))"


Konsola cały czas wyrzuca błędy :
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
DEBUG[1673205626.527745] Send: [53 55 50 4C 41 10 48 00 00 00 28 00 00 00 10 00 00 00 7A 17 BB 63 00 00 00 00 1C 0D 08 00 00 00 00 00 ]
DEBUG[1673205626.528057] Send: [53 55 50 4C 41 ]
DEBUG[1673205626.700750] Recv: [53 55 50 4C 41 10 1D 00 00 00 32 00 00 00 10 00 00 00 7A 17 BB 63 00 00 00 00 9E 33 0A 00 00 00 00 00 53 55 50 4C 41 ]
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")


Macie pomysł - gdzie coś źle wpisałem ?

Dzięki za odpowiedź.

Return to “supla-dev”