Może nie wersja, po polsku to będzie bardziej tryb Wybacz.
supla-device na Linux
Wywołując z linii komend
Kod: Zaznacz cały
curl -XGET 'XXX.XXX.XXX.XXX/api/zap?sRef=1:0:1:9:1964:13E:820000:0:0:0:'
Kod: Zaznacz cały
{
"message": "Active service is now '1:0:1:9:1964:13E:820000:0:0:0:'",
"result": true
}
Chodzi Ci o to, żeby móc wyłączyć przekaźnik w inny sposób niż przez serwer Supli?bigthomas pisze: ↑pt gru 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.
https://www.facebook.com/groups/supladiy/
Ok, teraz rozumiem.
W pliku konfiguracyjnym yaml możesz określić bezwzględną ścieżkę - wystarczy że wpiszesz tam "/var..."
Widzimy się na Supla Offline Party vol. 2
Bardziej mi chodziło aby wykorzystać linię komend aby móc wyłączyć dany przekaźnik, ale automat schodowy rozwiązuje problem.lukfud pisze: ↑pt gru 23, 2022 11:54 amChodzi Ci o to, żeby móc wyłączyć przekaźnik w inny sposób niż przez serwer Supli?bigthomas pisze: ↑pt gru 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.
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.
bigthomas pisze: ↑pt gru 23, 2022 11:44 am Wywołując z linii komenddostaję to:Kod: Zaznacz cały
curl -XGET 'XXX.XXX.XXX.XXX/api/zap?sRef=1:0:1:9:1964:13E:820000:0:0:0:'
Kod: Zaznacz cały
{ "message": "Active service is now '1:0:1:9:1964:13E:820000:0:0:0:'", "result": true }
Te wszyskie rzeczy z: " % Total ..." wraz z "Failed writing body" pochodzą z tego curla, którego odpalasz.bigthomas pisze: ↑pt gru 23, 2022 9:01 amKod: Zaznacz cały
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]
Widzimy się na Supla Offline Party vol. 2
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
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
Każda dostatecznie zaawansowana technologia niczym nie różni się od magii.
Arthur C. Clarke
Dodam taki kanał. Na razie wrzuciłem issue aby temat nie przepadł https://github.com/SUPLA/supla-device/issues/40maciej38 pisze: ↑śr sty 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
Widzimy się na Supla Offline Party vol. 2
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.
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.
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ź.
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ź.