GetFileFromURL bei Geräteabfrage

Begonnen von kleinemeise, 27 April 2015, 15:53:58

Vorheriges Thema - Nächstes Thema

kleinemeise

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.


Phill

Hallo,

Doch notify wäre hier genau das richtige, da notify ja genau dann reagiert wenn ein neuer wert eingelesen wurde.

Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

kleinemeise

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 :-(

Phill

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.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

kleinemeise

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 :-)

kleinemeise

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

kleinemeise

ok, ich muss nochmal nachfragen.

Wie bekomme ich den
trigger Stromz2Homematic jetzt z.B. alle 5 Minuten ausgeführt?

Hollo

Wenn Du etwas regelmäßig machen willst und kein auslösendes Event hast...  at .  ;D
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

kleinemeise

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 :-(

Hans Franz

#9
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
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Hollo

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.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"