Hallo Leute,
ich beschäftige mich gerade neu mit Fhem und bin auch schon relativ weit.Jetzt komme ich aber nicht weiter.
Ich besitze eine Homematic CCU2 welche zukünfig von FHEM mit Daten gefüttert werden soll.
Ich lese ein Gerät wie folgt aus:
define BOX ModbusRegister 0 4
attr BOX IODev SB
attr BOX alias Stromzahler
attr BOX icon scene_making_love
attr BOX plcDataType REAL
attr BOX room Keller
attr BOX stateFormat {sprintf("%0.1f kWh", ReadingsVal($name,"state",0))}
attr BOX updateInterval 150
Diesen Werte würde ich gern direkt an die CCU weiter geben. Das sollte ja per
GetFileFromURL "http://192.168.178.11:8181/FHEM2CCU.exe?state=dom.GetObject('FhemTest').State(WERT)"
funktionieren.
Nur wie triggere ich das an?
Bisher habe ich immer nur "notify" gefunden --> aber ich will die URL ja nicht bei einem Event aufrufen, sondern direkt noch der Abfrage des Stromzählers.
Hallo,
Doch notify wäre hier genau das richtige, da notify ja genau dann reagiert wenn ein neuer wert eingelesen wurde.
irgendwie komme ich nicht weiter. Testweise wollte ich mal einen Trigger anlegen:
define UpdateHomematic notify UpdateHomematic { GetFileFromURL("192.168.178.11:8181", "/FHEM2CCU.exe?state=dom.GetObject('FhemTest').State('TEST')") }
und dann per Aufrufen
trigger UpdateHomematic
Der Trigger wird auch ausgeführt. Nur kommt nix an :-(
Du musst nicht über den Umweg des notify gehen um es zu testen, du kannst die geschweifte klammer direkt in die FHEM Kommandozeile eingeben.
Weiterhin würde ich um zu sehen was schief läuft das ganze in die Log umleiten.
{ Log 1, GetFileFromURL("192.168.178.11:8181", "/FHEM2CCU.exe?state=dom.GetObject('FhemTest').State('TEST')", 5, "", 1, 1) }
Dann sollte in der Logfile von fhem zumindest ein Fehler kommen, warum es nicht geht.
super Phill.
Habe jetzt nochmal bissel rumgespielt.
per
define Update2Homematic notify Update2Homematic { GetHttpFile("192.168.178.11:8181", "/FHEM2CCU.exe?state=dom.GetObject('FhemTest').State('TEST32')") }
funktioniert es.
Jetzt müssen nur noch die Variablen rein und das ganze Zeigesteuert ablaufen :-)
So funktioniert es : :D
define Stromz2Homematic notify Stromz2Homematic { GetHttpFile("192.168.178.11:8181", "/FHEM2CCU.exe?state=dom.GetObject('Stromzaehler').State(" . Value("Stromz") . ")")}
trigger Stromz2Homematic
ok, ich muss nochmal nachfragen.
Wie bekomme ich den
trigger Stromz2Homematic
jetzt z.B. alle 5 Minuten ausgeführt?
Wenn Du etwas regelmäßig machen willst und kein auslösendes Event hast... at . ;D
das habe ich schon probiert:
trigger Stromz2Homematic at +*00:01:00
funktioniert leider nicht. Hatte auch mal im Forum gesucht, aber "at" ist nen schlechter Suchbegriff :-(
Hallo,
define Stromz2Homematic at +*00:05:00 { GetHttpFile("192.168.178.11:8181", "/FHEM2CCU.exe?state=dom.GetObject('Stromzaehler').State(" . Value("Stromz") . ")")}
ist einfacher.
Gruß
Hans
Edit:
vorher:
delete Stromz2Homematic
Zitat von: kleinemeise am 08 Mai 2015, 13:59:12
das habe ich schon probiert...
Nee, hast Du nicht. Hatte mich vielleicht undeutlich ausgedrückt.
Ich meinte at als FHEM-Befehl, also als Hinweis auf die commandref.
Dein Trigger kann ja nix richtig bewirken, weil Du ein notify definiert hast; und das benötigt numal ein auslösendes Event.
Hans Franz hat es Dir ja schon gepostet.