Module für pilight (Senden und Empfangen)

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

Vorheriges Thema - Nächstes Thema

Risiko

kaku_screen ist kein Protokoll für Schalter!
Siehe auch https://manual.pilight.org/protocols/index.html

Deshalb geht es auch mit piligt_switch nicht!
Du solltest kaku_switch_old oder ggf. ein Alias\Brands dazu verwenden. Siehe z.B. https://manual.pilight.org/protocols/433.92/switch/intertechno.html
https://manual.pilight.org/protocols/433.92/switch/kaku_old.html

Solange pilight-send -p <switch_protocol> .... nicht geht, dann wird es auch mit FHEM nicht funktionieren!
Das ist dann eher ein Problem von pilight! Ggf. mal dort im Forum nachfragen.

Risiko


stratege-0815

Hallo zusammen,
eigentlich habe ich pilight un der 433Mhz Welt den Rücken gekehrt.
Das war mein Einsteig in die Welt von FHEM, inzwischen arbeite ich mehr mit mqtt.
Aber in meinem log fand ich nur folgende Einträge:

2019.11.02 10:21:22 3: pilight_connector: Unknown code PITEMP,alecto_wx500,210,temperature:14.1,humidity:84,battery:1, help me!
2019.11.02 10:21:22 3: pilight_connector: Unknown code PITEMP,alecto_wx500,210,temperature:14.1,humidity:84,battery:1, help me!
2019.11.02 10:21:54 3: pilight_connector: Unknown code PITEMP,alecto_wx500,210,temperature:14.1,humidity:84,battery:1, help me!
2019.11.02 10:21:55 3: pilight_connector: Unknown code PITEMP,alecto_wx500,210,temperature:14.1,humidity:84,battery:1, help me!
2019.11.02 10:23:00 3: pilight_connector: Unknown code PITEMP,teknihall,165,temperature:-63.2,humidity:8,battery:1, help me!
2019.11.02 10:23:01 3: pilight_connector: Unknown code PITEMP,teknihall,165,temperature:-63.2,humidity:8,battery:1, help me!


Ich empfange da wohl Werte einer fremden Wetterstation, oder sogar mehrerer. Ich könnte mir das natürlich zu Nütze machen und mir so die Außentemperatur anzeigen lassen. (aber ich weiss ja gar nicht wo die Stationen stehen)
Komisch finde ich die Temperaturen an sich an der einen Stelle 14.1 und an der anderen -63.2 ?

Risiko

Hallo stratege-0815,

und was nun die Frage\Problem?
Die -63.2 stimmen natürlich nicht. Dein Empfänger empfängt da irgendwas + Rauschen, was von pilight falsch interpretiert wird.

Risiko.

Tueftler1983

Hallo, habe eine Frage
Ich habe im Garten einen 2. PI mit pilight am laufen um Steckdosen und Thermometer darüber zu steuern und zu Empfangen. Das funktioniert auch super (lokal)

In meinem Haupt PI habe ich ein zweites Pilight_ctrl definiert mit der IP des Servers im Garten.
Jetzt habe ich die selben Geräte vom Garten auch auf dem Hauptserver angelegt und dort als IODEV den Garten pilight_ctrl angegeben.

Wenn ich jetzt vom Haupt Fhem im Garten schalten will geht es nicht, aber wenn ich vom Garten Fhem schalte bekomme ich die Zustandsänderung auf dem Haupt Fhem angezeigt.

Wieso kann ich nicht vom Haupt Fhem auf dem Garten Fhem schalten???

Tueftler1983

Okay habe den "FEHLER" gefunden

Die Geräte müssen in Beiden Fhem Instanzen unterschiedliche Namen haben.

Hatte diese vorher in beiden Gleich genannt und es ging nicht.

Jetzt heißt die eine Funksteckdose im GartenFhem lichterkette und im HauptFhem Lichterkette

So geht es

Risiko

Prima.
Du könntest auch in pilight ein AdHoc-Netzwerk einrichten und nur eine Pilight-Instanz in FHEM einbinden. Die einzelnen Pilight-Geräte "unterhalten" sich selbst. Sollte auch gehen.
Hab es aber selbst noch nicht gemacht\probiert.
Siehe auch https://manual.pilight.org/adhoc_network.html

Risiko

laurello

Hallo zusammen,
ich hab einen RasPi (RasPi2) mit pilight am Laufen an den ein 8-Relais Modul angeschlossen ist. Pro Relais ist ein GPIO definiert und wird in der config.json von pilight mit dem Protokoll relay angesprochen. In der WebGui von pilight lässt sich das jetzt auch wunderbar schalten.

Auf einem anderen RasPi (RasPi1) läuft meine FHEM Instanz mit einem definiertem pilight_ctrl und einer Verbindung zum pilight auf dem RasPi2 mit State connected.

Jetzt die Frage: Kann man nun die einzelnen GPIOs aus FHEM heraus über pilight_ctrl ansprechen und wie müsste ich dann die "Geräte" definieren?

Hab schon das ein oder andere probiert, aber hat leider bisher nicht gefruchtet - auch bin ich mir nicht sicher, ob das relay-Protokoll von pilight_ctrl momentan unterstützt wird und es überhaupt eine Chance gibt. Den einzigen Hinweis auf relay fand ich in diesem Beitrag - mit offenem Ausgang  :)  (https://forum.fhem.de/index.php/topic,34632.msg327608.html#msg327608)

Viele Grüße,
laurello

Risiko

Hallo laurello,

das relay Protokoll wird nicht unterstüzt. Ich kann es hier https://manual.pilight.org/protocols/index.html auch nicht finden.
Es hat sich an dem Zustand von damals also nichts geändert.
Ich benötige neben der Zeit erstmal deutlich mehr Informationen.
Ist es eher mit einem Switch (on|off] pro GPIO vergleichbar?

Vielleicht könntest du erstmal mittels pilight-receive loggen, was beim Schalten über die GUI gesendet wird.
Interessant wäre auch deine config.json.

Risiko

laurello

Hallo Risiko,
erstmal danke für deine schnelle Reaktion.
Warum das relay Protokoll in der Doku nicht mit drin steht, hab ich mich auch schon gefragt, da es dazu sogar mal ein eigenes Wiki gab, dies wohl aber irgendwann in dem Fortgang der Versionen und Umzug der Webserver verloren gegangen ist - aber gut.

Wie du schon schreibst, ist es wie ein Switch zu verstehen - pro definiertem GPIO ein Schalter mit on|off (high|low am GPIO). Aufgrund der angelegten oder nicht angelegten Spannung am Pin, zieht das Relais entweder an oder eben nicht.

Mit pilight-receive zu loggen, habe ich probiert, aber wie ich schon befürchtet habe, kommt da nichts zum Vorschein. Ich denke, da hier nicht wirklich eine "message gefunkt" wird und der Vorgang ja ein "send" aus pilight ist, ist das receive Modul gar nicht beteiligt.
Was ich dir allerdings geben kann ist das userreading, daß ich an der pilight_ctrl in fhem als rcv_raw bekomme:
rcv_raw   {"origin":"sender","protocol":"relay","message":{"gpio":29,"state":"off"},"repeat":1,"uuid":"0000-dc-a6-32-121f5a"}

Ich weiß nicht genau, ob dir obiges rvc_raw userreading hilft, hab mir aber zum Vergleich auch das userreading eines Temperaturfühlers, der an GPIO7 einer anderen pilight Instanz hängt mal angesehen:
rcv_raw   {"message":{"gpio":7,"temperature":25.4,"humidity":49.9},"origin":"receiver","protocol":"dht22","uuid":"0000-b8-27-eb-5d1178"}
Das ist anders aufgebaut und gibt receiver als origin an, das obige Beispiel sender - das war mir als grosser Unterschied aufgefallen.

Meine config.json hab ich mit angehängt - meine Benamung ist noch "virtuell" - noch hängt nichts hinter den Relais, aber das wäre das Ziel  ;)

Viele Grüße,
laurello

Risiko

Hallo.

Na das sind doch schon mal nützliche Infos.

{"origin":"sender","protocol":"relay","message":{"gpio":29,"state":"off"}}

Damit wäre es möglich das Schalten aus der pilight-web-gui in FHEM mitzubekommen und einen Switch zu aktualisieren.
Jetzt fehlt noch der andere Weg. Könntest du mal versuchen mittels pilight-send einen Port zu schalten!? Dann würde mich mal der Syntax von pilight-send interessieren.

pilight-receive müsste das ({"origin":"sender","protocol":"relay","message":{"gpio":29,"state":"off"}}) aber auch anzeigen.

Vielleicht findet man\du ;) im pilight Forum noch was zum relay-Protokoll.

Risiko.

laurello

Hallo Risiko,
ich hab mir die Syntax zusammen gestellt:

  • für On: pilight-send -p relay -g 29 -t
  • für Off: pilight-send -p relay -g 29 -f

Laut "pilight-send -p relay --help" wäre dies dann vollständig und korrekt.
Ein Schalten eines Ports ist mir aber leider noch nicht gelungen, da ich immer die Meldung "no gpio-platform configured" bekomme. Ob dies ein bug ist oder ich weitere Optionen angeben müsste, kann ich nicht sagen. Meine Versuche dies mit der Option -C für das config file und Angabe der config.json mit Pfad abzustellen, sind derzeit noch erfolglos.


Der abermalige Versuch des "Aufzeichnens" des Befehls über pilight-receive fördert leider auch nichts zu Tage - bleibt einfach still die Ausgabe, egal welchen Web-Schalter ich drücke   >:(
Hast du aus deinem Erfahrungsschatz noch eine Idee bzw. bringt dir die Info über die Syntax etwas? Ich versuche auf jeden Fall weiter und hoffe auf einen Geistesblitz - evtl. stell ich mich ja nur dumm an.

Viele Grüße,
laurello

Tueftler1983

Welche Version Pilight nutzt du? Und hast du in der config.json diesen Eintrag? "gpio-platform": "raspberrypi3" je nachdem welchen PI du hast natürlich anpassen im Anhang ein Screenshot von meiner config.json ich nutze Pilight zum Senden/Empfangen mit 433 Mhz

laurello

Version ist die v8.1.5 und in der config.json steht die Plattform mit drin - in meinem Fall ein raspberrypi4

config.json:
...
"gpio-platform": "raspberrypi4"
...


Deswegen versteh ich auch die Fehlermeldung "no gpio-platform configured" nicht. Dann wollte ich dies über die -C config file Option sicher stellen beim pilight-send Aufruf - aber da bringt er mir immer ein "invalid option" - kennt er irgendwie nicht. Auch --config mag er nicht - keine Chance

Tueftler1983

Syntax zum Schalten sollte pilight-send -p relay -g 5 -t wobei "5" durch die Wiring gpio nummer ersetzt wird die du nutzt.

Tueftler1983

#884
Die melding mit der GPIO Plattform ist aber normal, da es laut Doku raspberrypi4 nicht als Definition gibt, Versuche alternativ Mal raspberrypi3.
Laut Forum mußt du die letzte wiringx Version installiert haben damit pilight mit dem raspberrypi4 funktioniert

https://forum.pilight.org/showthread.php?tid=3582