Hallo,
ich habe vor langer zeit versucht meine it-1500 Steckdosen auf dem pi mit coc-modul über fhem2fhem vom cubietruck aus zu schalten.
dies geht nicht wie ich feststellen musste:
Das IT Modul ist nicht FHEM2FHEM:RAW faehig, da es einen direkten Zugriff auf das drunterliegende IODev benoetigt, um per get raw Kommandos abzusetzen. FHEM2FHEM:RAW faehige Module kommunizieren nur per IOWrite bzw. Dispatch mit dem IODev.
bei meiner Lösungssuche ist dies Modul (in Anlehnung an fhem2fhem) entstanden das von einer Instanz in die andere befehle über telnet sendet.
diese möchte ich hier bereitstellen falls auch andere eine einfache Möglichkeit suchen fhem mit fhem anzusteuern, die devices/module aber nicht von fhem2fhem unterstützt werden
define syntax:
define <name> RFHEM host[:port] [pw]
wir kein port angegeben wird 7072 genommen
ihr erhaltet ein device über das ihr per
set <name> cmd <befehl>
fhem-befehle senden könnt.
Attribut
RFHEMdevs : eine Komma getrennte Liste von Devices. Alle events dieser Devices werden autom. an die entfernte Instanz weitergeleitet (sprich wenn deviceX ein event wie temperature: 29.3 generiert, wird ein "set rfhem_device cmd setreading deviceX temperature 29.3" angesetzt).
beispiel: IT-Steckdosen vom cubie der über kein Funkmodul verfügt schalten. das Modul sitzt auf dem pi
# pi remote
define RemotePI RFHEM christian-pi testpw1
den schalter habe ich als dummy realisiert
# remote steckdosen
define wz.LichtschlauchDummy dummy
attr wz.LichtschlauchDummy devStateIcon on:message_socket_on2 off:message_socket_off2
attr wz.LichtschlauchDummy setList on off
wird er betätigt greift ein notify welches den befehl, den man auf dem pi eingeben würde , vom cubi an den pi sendet:
define LichtschlauchNotify notify wz.LichtschlauchDummy { fhem "set RemotePI cmd set Wohnzimmer.Lichtschlauch $EVENT" }
einfache befehle funktionieren, richtige Syntax vorausgesetzt:
schalter schalten
set RemotePI cmd set wz.* on
readings eines dummys setzen
set RemotePI cmd setreading KS300Dummy 'T: 12.1 H: 72 W: 8.6 R: 1.8'
dummy definieren
set RemotePI cmd define dummy dummy
einfache notifys erstellen
set RemotePI cmd define b3lampV1 notify btn3 set lamp on
set RemotePI cmd define b3lampV1 notify btn3 {}
einfache ats definieren
set RemotePI cmd define a1 at 17:00:00 set lamp on
set RemotePI cmd define a1 at 17:00:00 {}
komplexe Sachen mit Perl-code wie
set RemotePI cmd define a1 at 17:00:00 {fhem("set xyz on");}
gehen nicht da
fhem("set xyz on");
von fhem gleich versucht wird auszuführen ...
ich habe heute bei mir ein telnet Passwort vergeben und das Modul darauf angepasst, funktioniert also auch. nur ssl-auth ist nicht gegeben wie fhem2fhem
da ich nicht alle befehle testen kann (und auch nicht kenne) wäre eine Rückmeldung gut was geht und was nicht.
Nutzung auf eigene Gefahr, programmiere nur aus spass an der sache und als "fortgeschrittener leihe" :-)
es läuft bei mir seit februar täglich und stabil auf 3 kisten die sich so unterhalten
Mittlerweile hat es das Modul ins FHEM update geschafft und steht somit per update zur Verfügunggruß
christian