Module für pilight (Senden und Empfangen)

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

Vorheriges Thema - Nächstes Thema

alexschomb

... und eine Antwort erhalten. Tatsächlich gibt es nun eine REST-API für Pilight in den neueren Versionen. Habe dies gerade mit der rewrite Branch erfolgreich verwenden können. Kurz beschrieben wird diese hier: https://www.pilight.org/nightly/

Ich habe ein wenig rumprobiert und man muss aufpassen welche Bezeichnung für Systemcode / ID bzw. Unitcode / Unit man verwendet. Das richtet sich wie bisher nach dem Protocol (pilight-send -p PROTOCOL --help) und funktioniert auch nur mit den ausgeschriebenen Optionen (bspw. nicht "t=1" sondern "on=1"!)

Hier ein Beispiel, welches bei mir funktioniert:

curl "http://127.0.0.1:5001/send?protocol=brennenstuhl&on=1&systemcode=5&unitcode=5"
curl "http://127.0.0.1:5001/send?protocol=brennenstuhl&off=1&systemcode=5&unitcode=5"


Wie man direkt erkennen kann läuft das alles auch nur noch über den Webserver-Port. Für pilight_ctrl bedeutet dies vmtl leider, dass hier einiges umgebaut werden muss.

Risiko

Ok. Erstmal danke für die Infos.
Ich finde es total Schei......, dass die Jungs schon wieder die API ändern. 
Kann mir auch noch nicht vorstellen, wie das Empfangen funktionieren soll. Wenn es auf Polling hinaus läuft, dann ist es ein gewaltiger Rückschritt.
Wenn du magst, kannst du ja mal nachfragen warum schon wieder die API geändert wird.
Sorry, ich warte aber erstmal ab, bis es stabil und besser dokumentiert ist.

Tueftler1983

Danke dir Risiko.
Klappt super echt besten dank. Wenn es jetzt noch möglich wäre den Befehl "alarm" zu senden wäre es super denn dann könnte man die Rauchmelder auch über FHEM testen oder z.b. auslösen wenn ein anderer Sensor z.b. CO2 oder bei Einbruch.
Aber bis hierhin schonmal besten dank

alexschomb

Zitat von: Risiko am 30 Juni 2016, 20:10:50
Ok. Erstmal danke für die Infos.
Ich finde es total Schei......, dass die Jungs schon wieder die API ändern. 
Kann mir auch noch nicht vorstellen, wie das Empfangen funktionieren soll. Wenn es auf Polling hinaus läuft, dann ist es ein gewaltiger Rückschritt.
Wenn du magst, kannst du ja mal nachfragen warum schon wieder die API geändert wird.
Sorry, ich warte aber erstmal ab, bis es stabil und besser dokumentiert ist.

Bad news. https://forum.pilight.org/Thread-Rewrite-API-not-working?pid=18621#pid18621

Risiko

Zitat von: Tueftler1983 am 01 Juli 2016, 13:34:54
Danke dir Risiko.
Klappt super echt besten dank. Wenn es jetzt noch möglich wäre den Befehl "alarm" zu senden wäre es super denn dann könnte man die Rauchmelder auch über FHEM testen oder z.b. auslösen wenn ein anderer Sensor z.b. CO2 oder bei Einbruch.
Aber bis hierhin schonmal besten dank
Ok. Wusste nicht, dass man auch senden kann!
Wie sieht denn die Syntax mit pilight-send aus?

Risiko


Tueftler1983


Risiko

Sorry Tueftler1983,

ich möchte nicht selbst den ganzen Thread durcharbeiten.
Du hast doch die Hardware zum Testen. Ich muss eigentlich nur Wissen was ich an pilight senden muss, damit ein Alarm\Testsignal ausgelöst wird.


Tueftler1983

Habe Grade leider festgestellt das pilight senden mit diesem Protokoll noch nicht unterstützt. Leider

Risiko

OK. Dann machen wir hier weiter, wenn es in pilight funktioniert.

sat-cracker

Hallo zusammen,
ich lese hier schon sehr lange mit und das Forum hat mir schon oft geholfen, mehrere Fehler zu korrigieren.

Nun habe ich aber ein Problem mit fhem & pilight.

Ich habe fhem auf einem rpi3 (192.168.0.211) und pilight 7.0 auf einem rpi2 (192.168.0.212) installiert
Beides funktioniert für sich alleine tadellos.
Nur wenn ich in meinem fhem "define piliow12 pilight_ctrl 192.168.0.212:5000" eingebe,
bekomme ich folgende Meldung "Cannot load module pilight_ctrl".
Muß ich pilight auf beiden rpi´s installieren?
Habe das bisher nicht getan, um meine fhem-installation sauber zu halten.

meine config.json:

{
   "devices": {},
   "rules": {},
   "gui": {},
   "settings": {
      "port": 5000,
      "webserver-http-port": 5001,
      "whitelist": "192.168.0.*"
   },
   "hardware": {
      "433gpio": {
         "sender": 0,
         "receiver": 1
      }
   },
   "registry": {
      "pilight": {
         "version": {
            "current": "7.0"
         }
      }
   }
}

Echtsystem:  intel NUC i7, fhem 5.9, 5x LGW, nanocul433, nanocul868, nanoculHM, sduino,
Testsystem auf Raspberry Pi 4

Risiko

Hallo sat-cracker,

pilight muss nur einmal installiert sein.
Ich vermute eher, dass nicht alle perl Abhängigkeiten (ibjson-perl, libswitch-perl) installiert (rpi3) sind.
Im Log müsste aber auch stehen, warum das Modul nicht geladen werden konnte.

sat-cracker

Super, Danke für die Hilfe. Es hat tatsächlich die libswitch-perl gefehlt.
Nun kann ich weiter testen.


Manfred
Echtsystem:  intel NUC i7, fhem 5.9, 5x LGW, nanocul433, nanocul868, nanoculHM, sduino,
Testsystem auf Raspberry Pi 4

sat-cracker

Hallo,
nachdem ich nun alles soweit am laufen habe, ist mir aufgefallen, das die Geräte, die über pilight-ctrl gefunden werden,
nicht per autocreate angelegt werden.

Sie werden sauber aufgelistet:
rcv_raw
{"message":{"id":65,"temperature":23.5},"origin":"receiver","protocol":"tfa30","uuid":"0000-xx-xx-xx-xxxxxx","repeats":1} 2016-07-08 11:35:59

rcv_raw
{"message":{"systemcode":5,"unitcode":3,"state":"off"},"origin":"receiver","protocol":"elro_800_switch","uuid":"0000-xx-xx-xx-xxxxxx","repeats":1}
2016-07-08 11:38:03

aber nicht angelegt. Das kann autocreate wohl (noch) nicht?
Echtsystem:  intel NUC i7, fhem 5.9, 5x LGW, nanocul433, nanocul868, nanoculHM, sduino,
Testsystem auf Raspberry Pi 4