Module für pilight (Senden und Empfangen)

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

Vorheriges Thema - Nächstes Thema

laurello

Hallo Tueftler1983,

über den Aufruf von pilight-send für relay sind wir uns also einig  ;)

Mit der GPIO Plattform hatte ich zuvor schon experimentiert und hatte - weil ich wie du in die Doku geschaut habe - erst raspberrypi3 drin stehen. Mit dieser Konfiguration lassen sich die Ports nicht mal über die WebGUI schalten, weswegen ich etwas gesucht hatte und dann auf das undokumentierte raspberrypi4 stieß. Dies hat dann auch auf Anhieb geklappt.
Ich habe trotzdem nochmal auf raspberrypi3 umgestellt und mit pilight-send probiert: Gleiches Verhalten - er sagt immer noch "no gpio-platform configured".

Trotzdem habe ich auch noch wiringX installiert und abermals probiert, aber auch wiringX hat nichts weiter gebracht: Gleiches Verhalten - abermals "no gpio-platform configured" wenn pilight-send aufgerufen wird.

Den Fehler wirft er immer aus der /home/pilight/source/daemon-dev/libs/pilight/protocols/GPIO/relay.c #89 - ERROR: no gpio-platform configured


Leider kein Erfolg.

Viele Grüße,
laurello

laurello

Um evtl. noch etwas mehr Infos zu bekommen, hab ich den pilight-daemon mal im Vordergrund im Debug Modus gestartet und über WebGUI geschaltet:

Zitat
(/home/pilight/source/daemon-dev/daemon.c #1532) [Jul 04 07:01:59:254931] DEBUG: socket recv: {"action":"control","code":{"device":"Channel1","state":"on"}}
(/home/pilight/source/daemon-dev/libs/pilight/core/socket.c #395) [Jul 04 07:01:59:255746] DEBUG: socket write succeeded: {"origin":"update","type":4,"uuid":"0000-dc-a6-32-121f5a","devices":["Channel1"],"values":{"timestamp":1593846119,"state":"on"}}

(/home/pilight/source/daemon-dev/daemon.c #405) [Jul 04 07:01:59:255807] DEBUG: broadcasted: {"origin":"update","type":4,"uuid":"0000-dc-a6-32-121f5a","devices":["Channel1"],"values":{"timestamp":1593846119,"state":"on"}}
(/home/pilight/source/daemon-dev/libs/pilight/core/socket.c #395) [Jul 04 07:01:59:256002] DEBUG: socket write succeeded: {"origin":"sender","protocol":"relay","message":{"gpio":29,"state":"on"},"repeat":1,"uuid":"0000-dc-a6-32-121f5a"}

(/home/pilight/source/daemon-dev/daemon.c #496) [Jul 04 07:01:59:256047] DEBUG: broadcasted: {"origin":"sender","protocol":"relay","message":{"gpio":29,"state":"on"},"repeat":1,"uuid":"0000-dc-a6-32-121f5a"}
(/home/pilight/source/daemon-dev/libs/pilight/core/socket.c #577) [Jul 04 07:02:00:967642] INFO: new client, ip: 192.168.2.35, port: 37072
(/home/pilight/source/daemon-dev/libs/pilight/core/socket.c #578) [Jul 04 07:02:00:967716] DEBUG: client fd: 18
(/home/pilight/source/daemon-dev/libs/pilight/core/socket.c #605) [Jul 04 07:02:00:967765] DEBUG: client id: 3
(/home/pilight/source/daemon-dev/daemon.c #1186) [Jul 04 07:02:00:967860] DEBUG: socket recv: {"action":"identify","options":{"receiver":1},"media":"all"}
(/home/pilight/source/daemon-dev/libs/pilight/core/socket.c #395) [Jul 04 07:02:00:967999] DEBUG: socket write succeeded: {"status":"success"}

(/home/pilight/source/daemon-dev/daemon.c #2549) [Jul 04 07:02:01:246800] DEBUG: cpu: 0.142362%
(/home/pilight/source/daemon-dev/daemon.c #2588) [Jul 04 07:02:04:36696] INFO: Interrupt signal received. Please wait while pilight is shutting down

Soweit sieht das erstmal gut aus.

Meinen pilight-send Aufruf als zweiten Versuch hat den daemon nicht interessiert - da kommen keine Informationen bzw. irgendeine Meldung - scheint an ihm vorbei zu gehen.

Risiko

OK. Mit den Infos kann ich nach meinem Urlaub (wird leider frühestens Ende Juli) mal versuchen eine Testversion mit relay-Protokoll zu erstellen.

Risiko.

laurello

Hallo Risiko,
das klingt doch vielversprechend - danke dafür!
Schönen Urlaub,
laurello

Risiko

Hall laurello,

wie versprochen hier eine Testversion mit relay-Protokoll.
Den Switch musst du wie folgt definieren

define myrelay pilight_switch relay <gpio number> all

Das all muss ein!

Viel Spaß beim Testen.

Risiko.

laurello

Hallo Risiko,

Traumhaft!

Heruntergeladen, eingespielt, Modul neu geladen, schnell define durchführt und mit gespannter Erwartung auf das Klicken des Relais auf dem Board auf "ON" gedrückt - funktioniert einwandfrei und auf Anhieb.
Ich sage ganz herzlich Danke von meiner Seite - das bringt mich doch ein riesiges Stück weiter und näher an die Umsetzung - jetzt liegt's nur noch an mir, das Vorhaben fertig zu bekommen.  :D

Meine "alten" anderen Funksteckdosen hab ich auch nochmal zum Test durchprobiert - funktionieren nach wie vor noch - also keine "Nebeneffekte"

Ich schau mir das noch weiter an und durch und probier noch weiter rum - dann meld ich mich nochmal abschließend - macht aber einen bombigen Eindruck.

laurello

Risiko

Prima.
Habe die Änderungen gerade eingecheckt.

laurello

Hier nochmal abschließend wie versprochen meine Rückmeldung, aber top, daß du schon eingecheckt hast. Hab in allen Testszenarien keine Probleme oder Nebeneffekte gefunden.

Damit ist pilight auf einem Remote System meiner Ansicht nach eine sehr einfache Möglichkeit auch lokal am Remote System angeschlossene "Geräte" über GPIO zu schalten und mit wenig Aufwand in fhem zu integrieren.

Toll!

Danke nochmal,
laurello

raspberry

#893
Guten Tag zusammen,

ich habe auf meinem Raspberry Pi 2 Model B Pilight  8.1.5-165-ga38fa85d und FHEM 6.0.23243 installiert. Bisher lief die Anbindung über das FHEM Modul pilight problemlos, bis ich ein Update von Jessie auf Stretch durchgeführt habe. Ich kann nun meine Schalter (define KuecheTischDeckeLampe pilight_switch kaku_switch 17277950 3) nicht mehr über FHEM ein- bzw. ausschalten. Im FHEM Log wird keine Fehlermeldung angezeigt, sondern scheinbar alles korrekt übergeben, aber wahrscheinlich kommt keine Rückmeldung von pilight und der Schalter bleibt im entsprechenden Status.

FHEM Log:
2020.11.29 10:02:30 4: Connection accepted from WEB_127.0.0.1_35292
2020.11.29 10:02:30 5: POST /fhem?cmd.KuecheTischDeckeLampe=set%20KuecheTischDeckeLampe%20on&XHR=1&fw_id=455 HTTP/1.1
Host: localhost:8083
Origin: http://10.10.10.10
Accept-Encoding: gzip, deflate
Authorization: Basic cGk6MjBDb250cm9sP0hvbWUxOA==
Accept: */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
Referer: http://10.10.10.10/fhem?detail=KuecheTischDeckeLampe
Accept-Language: de-de
X-Requested-With: XMLHttpRequest
X-Forwarded-For: 10.10.1.100
X-Forwarded-Host: 10.10.10.10
X-Forwarded-Server: 127.0.1.1
Connection: Keep-Alive
Content-Length: 0
2020.11.29 10:02:30 4: WEB_127.0.0.1_35292 POST /fhem?cmd.KuecheTischDeckeLampe=set%20KuecheTischDeckeLampe%20on&XHR=1&fw_id=455; BUFLEN:0
2020.11.29 10:02:30 5: Cmd: >set KuecheTischDeckeLampe on<
2020.11.29 10:02:30 5: KuecheTischDeckeLampe(Set): on 1 of 1
2020.11.29 10:02:30 4: pilight(Write): RCV (pilight_switch) -> KuecheTischDeckeLampe,on
2020.11.29 10:02:30 4: pilight(Write): {"action":"send","code":{"protocol":["kaku_switch"],"id":17277950,"unit":3,"on":1}}
2020.11.29 10:02:30 5: pilight(SendNonBlocking): queue size 1
2020.11.29 10:02:30 4: BlockingCall (pilight_ctrl_Send): created child (5450), uses telnetPort to connect back
2020.11.29 10:02:30 4: WEB: /fhem?cmd.KuecheTischDeckeLampe=set%20KuecheTischDeckeLampe%20on&XHR=1&fw_id=455 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2020.11.29 10:02:30 4: Connection accepted from telnetPort_127.0.0.1_37242
2020.11.29 10:02:30 5: Cmd: >{BlockingRegisterTelnet($cl,1)}<
2020.11.29 10:02:30 5: pilight(Send): {"action":"send","code":{"protocol":["kaku_switch"],"id":17277950,"unit":3,"on":1}}
2020.11.29 10:02:30 4: pilight(Send): RCV ->
2020.11.29 10:02:30 5: Cmd: >{BlockingStart('1')}<
2020.11.29 10:02:30 5: Cmd: >{pilight_ctrl_SendDone('pilight|1')}<
2020.11.29 10:02:30 4: pilight(SendDone): message successfully send


[Nov 29 09:16:53:160421] INFO: new client, ip: 127.0.0.1, port: 41688
[Nov 29 09:16:53:160570] DEBUG: client fd: 24
[Nov 29 09:16:53:160644] DEBUG: client id: 4
[Nov 29 09:16:53:163577] DEBUG: socket recv: {"action":"send","code":{"protocol":["kaku_switch"],"id":17277950,"unit":3,"on":1}}
[Nov 29 09:16:53:163761] DEBUG: client disconnected, ip 127.0.0.1, port 41688


Über die Konsole zu schalten (pilight-send -p kaku_switch -i 17277950 -u 3 -t) funktioniert jedoch korrekt, und auch der geänderte Status des Schalters wird korrekt in FHEM angezeigt.

[Nov 29 09:15:06:331391] INFO: new client, ip: 10.10.10.10, port: 33140
[Nov 29 09:15:06:331517] DEBUG: client fd: 24
[Nov 29 09:15:06:331564] DEBUG: client id: 4
[Nov 29 09:15:06:331683] DEBUG: socket recv: {"action":"identify"}
[Nov 29 09:15:06:331927] DEBUG: socket write succeeded: {"status":"success"}

[Nov 29 09:15:06:332238] DEBUG: socket recv: {"action":"send","code":{"off":1,"unit":3,"id":17277950,"protocol":["kaku_switch"]}}
[Nov 29 09:15:06:332705] DEBUG: **** RAW CODE ****
[Nov 29 09:15:06:332772] DEBUG: socket write succeeded: {"status":"success"}

315 2835 315 315 315 1260 315 1260 315 315 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 315 315 1260 315 1260 315 315 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 315 315 1260 315 1260 315 315 315 1260 315 315 315 10710
[Nov 29 09:15:06:332961] DEBUG: **** RAW CODE ****
[Nov 29 09:15:06:333055] DEBUG: client disconnected, ip 10.10.10.10, port 33140
[Nov 29 09:15:06:337430] DEBUG: socket write succeeded: {"origin":"sender","protocol":"arctech_switch","message":{"id":17277950,"unit":3,"state":"off"},"repeat":1,"uuid":"0000-b8-27-eb-5fe98b"}

[Nov 29 09:15:06:337700] DEBUG: socket write succeeded: {"origin":"sender","protocol":"arctech_switch","message":{"id":17277950,"unit":3,"state":"off"},"repeat":1,"uuid":"0000-b8-27-eb-5fe98b"}

[Nov 29 09:15:06:337790] DEBUG: broadcasted: {"origin":"sender","protocol":"arctech_switch","message":{"id":17277950,"unit":3,"state":"off"},"repeat":1,"uuid":"0000-b8-27-eb-5fe98b"}


Scheinbar wird in pilight, wenn ich über FHEM schalte, nichts ausgegeben/an den Socken geschrieben?

Gab es dieses Problem bereits bzw. benötigt Ihr weitere Logs?

Schon einmal vielen Dank für die Hilfe und viele Grüße

raspberry

Risiko

Hallo.

Aus dem Log kann ich nichts entnehmen. Setze doch das Loglevel von pilight_ctrl mind. auf 4 hoch.
Wieso verwendest du eine eigene und geänderte Version von pilight? Ich denke, der Fehler ist eher da zu suchen.

Risiko.

raspberry

#895
Vielen Dank für die schnelle Antwort!

Zitat von: Risiko am 29 November 2020, 10:24:58
Aus dem Log kann ich nichts entnehmen. Setze doch das Loglevel von pilight_ctrl mind. auf 4 hoch.

Log-Level von pilight ist bereits auf 6. Habe die Logs von "pilight-daemon -D". Oder muss ich etwas anderes umstellen bezüglich Log?

Zitat von: Risiko am 29 November 2020, 10:24:58Wieso verwendest du eine eigene und geänderte Version von pilight? Ich denke, der Fehler ist eher da zu suchen.

Ich habe zumindest bewusst keine eigene bzw. geänderte Version von pilight installiert, sondern ganz normal über apt-get installiert. Es handelt sich um die aktuelle stabile Version (deb http://apt.pilight.org/ stable main) Welche Version soll ich verwenden? Bzw. was soll ich anpassen?

Risiko

Sieht mir mit "8.1.5-165-ga38fa85d" nicht so aus. Das ist keine stable Version!
Im Log steht, dass die Nachricht von FHEM raus ist.
Leider kann ich nicht mehr beitragen.

raspberry

Zitat von: Risiko am 29 November 2020, 10:56:41
Sieht mir mit "8.1.5-165-ga38fa85d" nicht so aus. Das ist keine stable Version!
Im Log steht, dass die Nachricht von FHEM raus ist.
Leider kann ich nicht mehr beitragen.

Es handelte sich dabei doch um eine nightly Version, hatte die vor langer Zeit für einen Test installiert und wohl doch nicht mehr zurückgestellt. :-\
Mit der stabile Version 8.1.5 funktioniert alles nun korrekt!

Vielen Dank für die schnelle Rückmeldung und die tolle Unterstützung! Ganz herzlichen Dank für das FHEM Modul!

claudio-fhem

#898
Hallo!

Prima Sache, die Anbindung von pilight!

Ich habe 2 pilight (Daemonen, jeweils mit mehreren Clients) an unterschiedlichen Standorten, die per VPN verbunden sind. Die beiden pilights laufen für sich jeweils autonom, ich wollte sie aber in EINEM fhem kontrollieren können.

Das erste pilight verbindet sich (pilight_ctrl) und ich kann Temp./Hum. Daten lesen und Schalter schalten.

Wenn ich aber das zweite pilight anlege (pilight_ctrl), dann ist und bleibt das disconnected.

2020.12.04 11:17:32 1: piliRemote: Can't connect to 192.168.1.17:5000: Connection timed out

Ich habe mich auch gefragt, wie bei MEHREREN pilights das FHEM wissen soll, mit welchem pilight es welche Geräte auskaspert, da eine Zurodnung zu einem pilight_ctrl ja nicht stattfindet.

Gibt es einen Möglichkeit, mehrere pilight Daemonen mit EINEM FHEM zu kontrollieren? :-)

PS: Ich sehe gerade, dass man das IODev definieren kann, und damit Geräte einem 2. pilight zuordnen könnte. Jetzt muss ich rausfinden, warum sich das 2. pilight nicht verbindet.

PPS: Die Firewall hat wie üblich dazwischengefunkt, jetzt sind beide pilights "connected"..

_____


Zusatzfrage: Das Protokoll "cpu_temp" kann das FHEM Modul nicht? Da funken ein paar Raspis rum und die würde ich gerne einbinden...

2. Frage: Bei den Temp/Hum Sensoren ändert sich bei mir bei jedem Batteriewechsel die ID. Muss man dann das Gerät in FHEM neu anlegen? Oder kann man die ID per Befehl ändern?
Vielen Dank und Grüße!

claudio

Tueftler1983

Hallo ich habe auch Zwei Pi's auf denen jeweils eine Pflicht Instanz läuft, beide eingebunden in einem Fhem.
Das läuft ohne Probleme. Die einzelnen Geräte wissen über das Attribut IOdevice über welchen Pilight sie kommunizieren.