Module für pilight (Senden und Empfangen)

Begonnen von Risiko, 03 März 2015, 20:33:54

Vorheriges Thema - Nächstes Thema

eisi

Jup :-)

Jetzt wird die ganze Config umgeschrieben.

define pilight_oben pilight_ctrl 192.168.0.200:5000
define pilight_unten pilight_ctrl 192.168.0.201:5000
define pilight_garten pilight_ctrl 192.168.0.203:5000

Das wird ein Spaß :-)
3 x Rasp mit fhem 5.8 | 1 Rasp mit Kodi |1x Cube | 15 x MaxLan Thermostate und 18 Fensterschalter | 30 WLAN Schalter Sonoff | Diverse Sensoren mit Arduino | Tablet mit FTUI 2.6


Lars721

Hallo zusammen,

eventuell habe ich das hier (im langen Thread) überlesen...kann man eigentlich am RaspberryPi mehrere Sensoren mit dem selben Protokoll einbinden, die am selben GPIO Port empfangen werden?
Laut der Beschreibung:
pilight_temp: - Repräsentation eines Temperatur- und Luftfeuchtigkeitssensors bzw. Wetterstation
define <name> pilight_temp <protocol> <id>
Bei GPIO Sensoren muss als id der GPIO-Pin angegeben werden.

Wenn ich z.B. mehrere Sensoren mit dem Protokoll "oregon_21" verwende, kann ich zwar in Pilight direkt die "device_id" und die "id" (den Kanal) einstellen, aber in Fhem würden trotzdem alle diese Sensoren im selben Device landen?

Danke für Erklärung
Lars
FHEM 5.7 auf Raspberry Pi 2 B

Risiko

#798
Zitat von: Lars721 am 01 Oktober 2017, 09:42:52
Bei GPIO Sensoren muss als id der GPIO-Pin angegeben werden.
Ich bin mir nicht sicher, ob die ID immer die Pinnummer ist. Hängt sicherlich vom Protokoll ab.
Siehe https://manual.pilight.org/protocols/gpio/index.html
Bei "oregon_21" ist die ID die ID des Sensors! Leider ist es in der offiziellen Doku nicht gelistet.
https://manual.pilight.org/protocols/433.92/weather/index.html
Ich weiß nicht, ob es schon die die offizielle pilight Version geflossen ist.

Lars721

#799
Hallo Risiko,

danke für die Antwort.

Einen Oregon Sensor (THGR228N) habe ich bereits über Pilight an Fhem angebunden.
Die device_id laut Pilight ist 7456
Die id ist 1 (die Kanal ID)

Hier in Fhem musste ich als ID eine 1 angeben.
(Der 433 MHz Empfänger ist an meinem Raspi an GPIO1 (wiringPi Bezeichnung) angeschlossen).

Ich wollte jetzt nur wissen, ob man dann einen zweiten Sensor gleichzeitig betreiben kann, weil der dann ja auch über GPIO1 "angeschlossen" ist...

Das Oregon_21 Protokoll ist noch nicht in der offiziellen Pilight Version 7 eingeflossen.
Ich habe die Version aus dem Pilight test-dev Verzeichnis genommen.
FHEM 5.7 auf Raspberry Pi 2 B

Risiko

Zitat von: Lars721 am 03 Oktober 2017, 13:53:08
Die device_id laut Pilight ist 7456
Die id ist 1 (die Kanal ID)
Das verstehe ich leider nicht. Was sagt den pilight_receive bzw. das Log, wenn die verbose von pilight_ctrl auf 4 stellst?

Lars721

Die device_id 7456 kommt von pilight_receive
Als rcv_raw von pilight_ctrl erhalte ich:
{"message":{"device_id":7456,"id":1,"unit":111,"battery":1,"temperature":19.20,"humidity":45.0},"origin":"receiver","protocol":"oregon_21","uuid":"0000-b8-27-eb-c21f9a","repeats":2}
FHEM 5.7 auf Raspberry Pi 2 B

Lars721

#802
Hallo,

ich habe jetzt mal folgendes getestet:
Am Sensor kann man den Kanal einstellen von 1-3

Ich habe jetzt von Kanal 1 auf Kanal 3 umgestellt.

Jetzt erhalte ich bei rcv_raw von pilight_ctrl:
{"message":{"device_id":7456,"id":3,"unit":113,"battery":1,"temperature":21.50,"humidity":43.0},"origin":"receiver","protocol":"oregon_21","uuid":"0000-b8-27-eb-c21f9a","repeats":2}

In meinem Fhem Device muss ich nun folgendes einstellen, damit ich wieder Daten erhalte:
defmod Oregon_Sensor pilight_temp oregon_21 3

Anscheinend bezieht sich die ID im Fhem Pilight Modul auf die (Kanal-)id von Pilight und nicht auf die device_id von Pilight

Dann habe ich es jetzt auch endlich verstanden.
Man kann verschiedene Oregon Sensoren einbinden mit verschiedenen Kanal-ID's.
Theoretisch könnte man aber auch bei der Definition von pilight_Temp
define <name> pilight_temp <protocol> <id>
die device_id mit als zusätzlichen Parameter anfügen.
Dann könnte man in Fhem noch mehrere Oregon_21 Sensoren einbinden
@Risiko: wäre das sinnvoll/machbar?

Danke schon mal

Gruß,
Lars
FHEM 5.7 auf Raspberry Pi 2 B

Risiko

#803
Das oregon_21 Protokoll verhält sich hier meiner Meinung nach anders. Es gibt hier zur "id" noch eine "device_id". Das gibt es bei anderen Protokollen nicht!! (z.B. https://manual.pilight.org/protocols/gpio/lm76.html oder https://manual.pilight.org/protocols/433.92/weather/alecto_wsd17.html)
Wenn es unbedingt erforderlich ist, könnte ich die Ausnahme umsetzen und bei diesem Protokoll "device_id" statt "id" verwenden. Da es aber auch noch nicht in die offizielle pilight Version geflossen ist, würde ich damit erstmal warten. Evtl. tut sich da ja noch was, vor allem weil sich unit auch ändert. Meiner Meinung nach müsste ID=7456 und unit=1 oder 3 sein! Oder noch besser, es müsste sich an das tfa (https://manual.pilight.org/protocols/433.92/weather/tfa.html) Protokoll anlehnen. Dann könnte man pilight_temp id channel machen. Hat bis jetzt wohl noch niemand gebraucht.

eisi

Hallo,

ich habe da mal gerne ein Problem :-)

Ich bauen gerade alles von dem 98_pilight auf das pilight_switch Modul um.

Es reagiert etwas komisch bei ein paar Schaltern:

FHEM:


define Grillbeleuchtung pilight_switch kaku_switch 4019034 14
attr Grillbeleuchtung IODev pilight_garten
attr Grillbeleuchtung alias Grillbeleuchtung
attr Grillbeleuchtung devStateIcon on:general_an@red off:general_aus@grey
attr Grillbeleuchtung group Schalter
attr Grillbeleuchtung icon light_ceiling
attr Grillbeleuchtung room Aussen

define Ofenbeleuchtung pilight_switch kaku_switch 4019034 15
attr Ofenbeleuchtung IODev pilight_garten
attr Ofenbeleuchtung alias Ofenbeleuchtung
attr Ofenbeleuchtung devStateIcon on:general_an@red off:general_aus@grey
attr Ofenbeleuchtung group Schalter
attr Ofenbeleuchtung icon light_ceiling
attr Ofenbeleuchtung room Aussen


Events:
2017-10-27 18:43:10 pilight_ctrl pilight_garten rcv_raw: {"origin":"sender","protocol":"arctech_switch","message":{"id":4019034,"unit":14,"state":"off"},"repeat":1,"uuid":"0000-b8-27-eb-7d1439"}
2017-10-27 18:43:10 pilight_ctrl pilight_garten UNKNOWNCODE PISWITCH,arctech_switch,4019034,14,off

2017-10-27 18:44:15 pilight_ctrl pilight_garten rcv_raw: {"origin":"sender","protocol":"arctech_switch","message":{"id":4019034,"unit":15,"state":"on"},"repeat":1,"uuid":"0000-b8-27-eb-7d1439"}


Warum geht der eine Schalter, der andere Schalter nicht?

3 x Rasp mit fhem 5.8 | 1 Rasp mit Kodi |1x Cube | 15 x MaxLan Thermostate und 18 Fensterschalter | 30 WLAN Schalter Sonoff | Diverse Sensoren mit Arduino | Tablet mit FTUI 2.6

Risiko

Hallo.
Meiner Meinung sollte so keiner gehen  ;), wenn du in pilight_ctrl nicht das Attribut 'brands' verwendest.
Grund: "kaku_switch" ist ein anderer Name (brand) für "arctech_switch". Am Besten du definierst all diese Schalter mit dem "arctech_switch" Protokoll oder du musst in pilight_ctrl
brands: kaku_switch:arctech_switch setzen

Risiko

eisi

Naja, einer ging :-)
Hab das jetzt mal so codiert und ein neues Wunder tut sich auf :-)
Mit der FHEM-App auf Android, kann ich sie nicht schalten :-(
Mit dem FTUI auf dem Pad geht es problemlos.
In FHEM selber wird nur der Zustand "defined" angezeigt.
3 x Rasp mit fhem 5.8 | 1 Rasp mit Kodi |1x Cube | 15 x MaxLan Thermostate und 18 Fensterschalter | 30 WLAN Schalter Sonoff | Diverse Sensoren mit Arduino | Tablet mit FTUI 2.6

Risiko

Was steht denn im Log? Ggf. mal verbose von pilight_ctrl auf 4 setzen.

eisi

2017.11.05 12:50:16 4: pilight_unten(Write): RCV (pilight_switch) -> Grillbeleuchtung,on
2017.11.05 12:50:16 4: pilight_unten(Write): {"action":"send","code":{"protocol":["kaku_switch"],"id":4019034,"unit":14,"on":1}}
2017.11.05 12:50:16 4: pilight_unten(Send): RCV -> {"status":"success"} 
2017.11.05 12:50:16 4: pilight_unten(SendDone): message successfully send
2017.11.05 12:50:17 4: pilight_unten(Dispatch): PISWITCH,arctech_switch,4019034,14,on
2017.11.05 12:50:17 4: pilight_switch_Parse: RCV -> PISWITCH,arctech_switch,4019034,14,on
3 x Rasp mit fhem 5.8 | 1 Rasp mit Kodi |1x Cube | 15 x MaxLan Thermostate und 18 Fensterschalter | 30 WLAN Schalter Sonoff | Diverse Sensoren mit Arduino | Tablet mit FTUI 2.6

Risiko

Sehe da leider keinen Fehler.
Heist du vielleicht eine oder mehrere pilight_ctrl definiert? Du brauchst nu eins.
Seige doch mal die defines von pilight_ctrl und pilight switch. Bitte auch noch das verbose von pilight_switch auf 4 stellen.
Du sendest immer noch mit "kaku_switch" protocol. Kommt sowas wie Unknown Code? Sende doch mit "arctec_switch"