Module für pilight (Senden und Empfangen)

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

Vorheriges Thema - Nächstes Thema

albundy118

Hi stratege-0815,

also dein "pilight_connector" ist im status "closed". Das heißt der connector ist nicht mit dem pilight process verbunden. Somit sollte weder senden noch empfangen funktionieren. Wenn pilight-daemon läuft, solltest du mal prüfen ob du den richtigen Port angegeben hast.
Das module "pilight" welches du erwähnst hat aber soweit ich verstanden habe, nichts mit diesem pilight_xxx module zu tun.



stratege-0815

Zitat von: albundy118 am 22 Januar 2018, 23:27:39
Hi stratege-0815,

also dein "pilight_connector" ist im status "closed". Das heißt der connector ist nicht mit dem pilight process verbunden. Somit sollte weder senden noch empfangen funktionieren. Wenn pilight-daemon läuft, solltest du mal prüfen ob du den richtigen Port angegeben hast.
Das module "pilight" welches du erwähnst hat aber soweit ich verstanden habe, nichts mit diesem pilight_xxx module zu tun.

Danke für die Rückmeldung. "Ja" und "Ja"  :D
Also der "pilight_conector" ist ja das Modul pilight_ctrl, dieses bietet die Möglichkeit eines reset oder disconnect. Ich hatte beides einmal ausprobiert um zu gucken ob sich danach die readings wieder aktualisieren. Leider Fehlanzeige.
Das alte Modul "pilight" kommt überhaupt nichtmehr zum Einsatz, da ja wie geschrieben alles neu installiert wurde. Pilight kommuniziert über Port 5000, ich kann ja mittels fhem meine pilight Steckdosen schalten. Ich befürchte fast das pilight 8.0 hier vielleicht zu neu ist und Probleme macht.

albundy118

Also wenn der pilight_ctrl connected, habe ich nix gesagt ;-)
Ich denke dann liegt es daran dass pilight intern keine message schickt wenn du in pilight selbst schaltest. Ich nutzt das auch gar nicht, ich schalte entweder mit FHEM oder mit der Fernbedienung. Wenn ich mit der Fernbedienung schalte, wird der status sauber in FHEM angezeigt. Ich nutzte die letzte nightly 8.0.7
Also wenn du nicht unbedingt in pilight schalten willst, kannst du alle Geräte rausschmeißen, ich habe da nix drin:

{
        "devices": {},
        "rules": {},
        "gui": {},
        "settings": {
                "log-level": 4,
                "pid-file": "/var/run/pilight.pid",
                "log-file": "/var/log/pilight.log",
                "port": 5555,
                "webserver-enable": 0,
                "gpio-platform": "raspberrypi3"
        },
        "hardware": {
                "433gpio": {
                        "sender": 0,
                        "receiver": 1
                }
        },
        "registry": {
                "webserver": {
                        "ssl": {
                                "certificate": {
                                        "secure": 0,
                                        "location": "/etc/pilight/pilight.pem"
                                }
                        }
                },
                "pilight": {
                        "version": {
                                "current": "8.0.7"
                        }
                }
        }
}

Risiko

Zitat von: albundy118 am 17 Januar 2018, 09:43:47
Hallo,

ich nutze seit längeren dieses Modul für 433 Mhz Steckdosen und Wetter stationen.
Nun habe ich an meinem RPI ein BH1750 Lichtsensor am I2C Bus angeschlossen und kann diesen auch mit pilight pollen. Es handelt sich um ein 3rd party Module "bh1750".
.....

Meine Frage ist, wäre es möglich das so im Repository aufzunehmen?

Als Referenz zum pilight module, hier ein Thread Beitrag:
https://forum.pilight.org/showthread.php?tid=2738

Danke + Gruß
Florian

Hallo Florian,

ich habe es doch erstmal so, wie du es vorgeschlagen hast, in pilight_ctrl aufgenommen.
Mal schauen, was die Zukunft bringt. Evtl. fliegt es da auch wieder raus, wenn es mehrer Sensoren mal gibt.

Risiko

mayonezo

Hallo zusammen,

wäre es möglich, zusätzlich zu dem Blacklistansatz vom ignoreProtocol Attribut in pilight_ctrl auch noch ein Whitelist Attribut zu implementieren? Das würde das Filtern der Events für mein log unheimlich erleichtern, da ich hier einige Protokolle empfange, die ich nicht benötige.

Viele Grüße
mayonezo

albundy118

Danke Risiko! Habe gerade update gemacht und kann bestätigen dass es weiterhin funktioniert.

Gruß
Florian

McShire

Zitat von: Risiko am 03 März 2015, 20:33:54
Hallo.

Ich möchte hier die Module zum Senden und Empfangen mittels pilight vorstellen.

pilight_ctrl: - Basismodul für die Kommunikation

define <name> pilight_ctrl <host:port> [api]


  • host - IP wo der pilight-daemon läuft
  • port - Port des pilight-daemon
  • api - pilight version optional, 5.0 oder 6.0 - default 6.0

pilight_switch: - Repräsentation eines Schalters

define <name> pilight_switch <protocol> <id> <unit>


  • protocol - Protokoll z.B. kaku_switch
  • id - ID oder Systemcode je nach Protokoll
  • unit - unit, unitcode oder programcode je nach Protokoll

pilight_dimmer: - Repräsentation eines Dimmers

define <name> pilight_dimmer <protocol> <id> <unit>

Parameter wie beim Schalter.

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.

pilight_raw: - Modul zum Senden von raw codes

define <name> pilight_raw


Weitere Dokumentation in den Modulen selbst.

Wichtig ist noch das Attribut "brands" in pilight_ctrl.
Damit wird das Problem gelöst, dass pilight für ein und das selbe Protokoll (für Senden und Empfangen) unterschiedliche Namen verwendet (z.B. arctech, kaku, intertechno).
Beispiel:
Senden mit Protokoll kaku_switch_old, Empfang für das gleiche Device mit arctech_switch_old.
Dann muss arctech durch kaku ersetzt werden. Das erreicht man mit brands arctech:kaku.

Ich habe Einiges getestet und bei mir läuft es aktuell mit drei Intertechno Schaltern und einem Intertechno Dimmer soweit stabil.
Leider habe ich nicht so viel unterschiedliche Hardware - also keine Garantie, dass es mit allen Protokollen (schon) funktioniert.

Die in 6.0 eingeführten Kontakte können als Schalter "umgebogen" werden. Attribut "ContactAsSwitch" in pilight_ctrl.

Viel Spaß.

History:
16.03.15 FIX       ID alphanumerisch
20.03.15 NEW    Protokoll 'clerverwatts' hinzugefügt
26.03.15 NEW    Protokoll 'clerverwatts' unit all für 'all'-Signal
29.03.15 NEW    Temperatur- und Luftfeuchtigkeitssensoren
30.03.15 NEW    GPIO - Temperatur- und Luftfeuchtigkeitssensoren
30.03.15 NEW    Komplette Protokolle ignorieren mit Attribut ignore <protokoll_name>:*
09.04.15 FIX       Nur Senden, wenn auch eine Verbindung zum pilight-daemon besteht
12.04.15 FIX       Protokoll 'intertechno_old' hinzugefügt
17.04.15 FIX       Kleinere Rechtschreibfehler - Danke an pattex
17.04.15 FIX       Senden mehrerer Befehle in kurzer Zeit (Aufbau einer Messagequeue)
29.04.15 CHG     Attribut ignore zu ignoreProtocol umbenannt, da ignore bereits vergeben ist
09.05.15 NEW    ignoreProtocol *  - es wird bis auf die durch Submodule definierten Protokoll-ID-Kombinationen alles andere ignoriert
09.05.15 NEW    Protokoll quigg_gt* (z.B. quigg_gt7000) ergänzt
16.05 15 NEW    pilight_temp: Status der Batterie als reading, Attribut 'corrTemp' zur Korrektur der Temperatur
17.05.15 NEW    pilight_temp: Attribut 'corrHumidity' zur Korrektur der Luftfeuchte
20.05.15 NEW    pilight_dimmer: Möglichkeit den Dimmer mit der Screen Funktionalität (up|down) zu erweitern
30.05.15 FIX       pilight_dimmer:  Funktionalität (up|down) + set dimlevel 0
30.05.15 FIX       pilight_switch|dimmer:  Trigger|Notify wurde immer zweimal ausgelöst
07.06.15 FIX       pilight_ctrl:  set reset - Verbindung zu Submodulen wurde unterbrochen
20.06.15 NEW    pilight_ctrl:  set disconnect - Verbindung trennen und nicht automatisch wieder aufbauen
23.06.15 NEW    pilight_ctrl:  Attribut SendTimeout - Abbruchzeit für Sendebefehl - Default 1s
23.06.15 FIX       pilight_ctrl:  Sendequeue bei reset leeren
21.07.15 NEW    pilight_raw: Modul zum Sende von raw codes
27.07.15 NEW    pilight_dimmer|switch|raw: SetExtensions(on-for-timer, off-for-timer,etc)
30.08.15 NEW    pilight_temp: Luftdruck, Windrichtung, Windgeschwindigkeit, Windböe (falls von Sensor unterstützt)
06.09.15 FIX       pilight_temp:  pressure, windavg, winddir, windgust from weather stations without temperature
29.11.15 NEW    pilight_temp:  add attributes offsetTemp and offsetHumidity to correct temperature and humidity
17.12.15 NEW    30_pilight_xyz: IO-Device über Attribut verstellen
20.03.16 FIX      pilight_ctrl: send delimiter to signal end of stream if length of data > 1024 (e.q. long raw codes)
28.03.16 NEW   pilight_switch: protocol daycom
02.06.16 NEW   pilight_ctrl: protocol oregon_21
03.07.16 NEW   pilight_smoke: new module - representation of a pilight smoke detector
13.11.16 NEW   pilight_contact: Neues Modul für Kontaksensoren

Module ab 26.04.15 in FHEM integriert und per update erhältlich

Ich bin neu in FHEM und habe früher mal in den Anfängen ein wenig mit pilight und pimatik gemacht. Aus der Zeit habe ich auch noch die Hardware. Wenn ich es richtig verstehe, kann man in FHEM mit dem pilight Server kommunizieren und über diesen mit der pilight hardware senden und empfangen. Dann lohnt es sich vielleicht, die alte Hardware wieder zu aktivieren, da es in pilight inzwischen auch module für Protokolle gibt, die ich mit meinen nanoCUL vielleicht nicht senden kann, z.B. Auriol Wetter.

Habe ich das so richtig verstanden?


itze

Hallo,

ich brauche bitte mal Hilfe:

Pilight V7 auf Raspberry Pi 3 installiert und läuft.
In Fhem "define Pilight pilight_ctrl 192.168.0.7:5001" lässt Fhem abstürzen und auch nicht mehr starten.
Reboot Pi notwendig.
Hatte auch die V8 installiert, das Gleiche Ergebnis.

Logauszug fhem:
2018.01.31 15:25:24 3: Opening Pilight device 192.168.0.7:5001
2018.01.31 15:25:24 3: Pilight device opened
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "HTTP/1.0 404 Not Fou...") at ./FHEM/10_pilight_ctrl.pm line 736.

Dann schmiert Fhem ab.

Was muss ich tun?

Danke & Gruss
Andreas

stratege-0815

Ich denke hier ist der Port 5001 falsch. http://192.168.0.7:5001 dürfte deine pilight GUI sein. die API läuft aber über den Port 5000 , der sollte auch in deiner config.json in pilight definiert sein. Siehe https://manual.pilight.org/configuration/settings.html#port

stratege-0815

Zitat von: McShire am 29 Januar 2018, 23:10:34
Ich bin neu in FHEM und habe früher mal in den Anfängen ein wenig mit pilight und pimatik gemacht. Aus der Zeit habe ich auch noch die Hardware. Wenn ich es richtig verstehe, kann man in FHEM mit dem pilight Server kommunizieren und über diesen mit der pilight hardware senden und empfangen. Dann lohnt es sich vielleicht, die alte Hardware wieder zu aktivieren, da es in pilight inzwischen auch module für Protokolle gibt, die ich mit meinen nanoCUL vielleicht nicht senden kann, z.B. Auriol Wetter.

Habe ich das so richtig verstanden?

Ja, genau so sollte das funktionieren. Am besten siehst du zuerst mal zu das es in pilight funktioniert, darauf kannst du dann FHEM setzen

itze

Zitat von: stratege-0815 am 31 Januar 2018, 17:00:44
Ja, genau so sollte das funktionieren. Am besten siehst du zuerst mal zu das es in pilight funktioniert, darauf kannst du dann FHEM setzen

Ja, das wars. Danke :-)
Einen Schritt weiter.

stratege-0815

Zitat von: albundy118 am 23 Januar 2018, 21:53:49
Also wenn der pilight_ctrl connected, habe ich nix gesagt ;-)
Ich denke dann liegt es daran dass pilight intern keine message schickt wenn du in pilight selbst schaltest. Ich nutzt das auch gar nicht, ich schalte entweder mit FHEM oder mit der Fernbedienung. Wenn ich mit der Fernbedienung schalte, wird der status sauber in FHEM angezeigt. Ich nutzte die letzte nightly 8.0.7

Ich bin hier jetzt auch einen kleinen Schritt weiter. Habe pilight nochmal upgedatet sollte jetzt 8.0.8 sein. Der pilight_ctrl ist connected. Der hat auch ein reading, irgendwas "raw..." und dort taucht auch immer der letzte Schaltvorgang mit entsprechendem device auf den ich via pilight GUI durchgeführt habe. Allerdings wird er nicht in der Darstellung auf meine devices in FHEM übertragen. Mir scheint das Problem eher au dem FHEM Seite zu liegen.
Muss ich für die pilight devices in FHME erst noch readings anlegen?

itze

Auch wenn ihr mich jetzt haut, hab ich noch ne Frage:

Benötige ich ein separates 433Mhz Sende/Empfangsteil oder reicht auch der CUL am USB des Raspberrys, der aktuell für FHEM läuft?
Also verarbeitet Pilight die Signale, die am 433Mhz CUL empfangen werden?

Sorry....

McShire

Zitat von: stratege-0815 am 31 Januar 2018, 17:00:44
Ja, genau so sollte das funktionieren. Am besten siehst du zuerst mal zu das es in pilight funktioniert, darauf kannst du dann FHEM setzen

Danke für die Info.
Ich habe jetzt den Signalduino fertig, der hat die fehlenden Temperatursensoren auf Anhieb erkannt, setze diesen jetzt ein.
Aber pilight unter FHEM werde ich jetzt trotzdem ausprobieren, allein schon aus Neugierde.

PS: mit dem Signalduino wurde jetzt auch mein 12V 1CH Funkrelais (4,50 EUR bei Ebay) erkannt und kann als IT device geschaltet werden.
Vielleicht ist dies Info für jemanden nützlich.
https://www.ebay.de/itm/1CH-12V-Funk-Wireless-RF-Relais-Schalter-Sender-Empfanger-Fernbedienung-433MHZ/401442955607?hash=item5d77dd6157:g:PgsAAOSwOA1aC~ob

Gruß
Werner

stratege-0815

Zitat von: albundy118 am 23 Januar 2018, 21:53:49
Also wenn der pilight_ctrl connected, habe ich nix gesagt ;-)
Ich denke dann liegt es daran dass pilight intern keine message schickt wenn du in pilight selbst schaltest. Ich nutzt das auch gar nicht, ich schalte entweder mit FHEM oder mit der Fernbedienung. Wenn ich mit der Fernbedienung schalte, wird der status sauber in FHEM angezeigt. Ich nutzte die letzte nightly 8.0.7
Also wenn du nicht unbedingt in pilight schalten willst, kannst du alle Geräte rausschmeißen, ich habe da nix drin:

{
        "devices": {},
        "rules": {},
        "gui": {},
        "settings": {
                "log-level": 4,
                "pid-file": "/var/run/pilight.pid",
                "log-file": "/var/log/pilight.log",
                "port": 5555,
                "webserver-enable": 0,
                "gpio-platform": "raspberrypi3"
        },
        "hardware": {
                "433gpio": {
                        "sender": 0,
                        "receiver": 1
                }
        },
        "registry": {
                "webserver": {
                        "ssl": {
                                "certificate": {
                                        "secure": 0,
                                        "location": "/etc/pilight/pilight.pem"
                                }
                        }
                },
                "pilight": {
                        "version": {
                                "current": "8.0.7"
                        }
                }
        }
}


Ich habe mein Problem jetzt lösen können (und dafür schon direkt das nächste).
Bei meinen Definitionen der Schalter habe ich mich an die Protokolle gehalten die auch in pilight definiert sind. ,,Silvercrest" und ,,brennenstuhl". Die hatte ich seinerzeit aus der jeweiligen Fernbedienung ausgelesen. Offenbar macht das brennenstuhl Protokoll Probleme, Umstellung auf silvercrest brachte Abhilfe. Alles schaltet und der Status aus pilight kommt in FHEM an.
Nun da das funktioniert nächstes ,,Problem" gibt die api den Status auch von FHEM an pilight gui ?
Bei mir tut es das nämlich nicht. Ich weiß aber auch gar nicht ob das vorgesehen ist.