Hallo,
wie kann ich denn die Uptime des ESPs als zusätzlices Reading im ESPEASY-Device bekommen ? Bei mir legt der sonst immer ein separates Device mit der Uptime an...
Grüße
Christian
Die Doku sollte helfen:
https://fhem.de/commandref.html#ESPEasy_bridge_attr_combinedevices
https://wiki.fhem.de/wiki/ESPEasy#Attribut_combineDevices
Leg dir ne rules an und veröffentliche die uptime
Hallo DasQ,
ich hab gerade das versucht umzusetzen:
On Rules#Timer=1 do
Publish /%sysname%/ip/ip,%ip%
timerSet,1,10
endon
Wenn ich unter dem angegebenen Topic lausche, kommt nichts an. Am Topic und am Lauschen kann es nicht liegen, andere Nachrichten kommen an.
Muss man dem Timer noch vorher definieren? Kannst du den gesamten Code posten, in Codetags (#)?
Viele Grüße Gisbert
@DasQ: Da cs-online von einem ESPEasy Device und nicht von einem MQTT(2) Device spricht sind die MQTT Topics in einer rule nutzlos. Es geht darum, einzelne Werte, die via ESP Easy FHEM Controller verschickt werden, in einem FHEM Device anzuzeigen und nicht für jeden Wert ein eigenes Devices anlegen zu lassen.
Zitat von: Gisbert am 05 Januar 2019, 09:28:00
Hallo DasQ,
ich hab gerade das versucht umzusetzen:
On Rules#Timer=1 do
Publish /%sysname%/ip/ip,%ip%
timerSet,1,10
endon
Wenn ich unter dem angegebenen Topic lausche, kommt nichts an. Am Topic und am Lauschen kann es nicht liegen, andere Nachrichten kommen an.
Muss man dem Timer noch vorher definieren? Kannst du den gesamten Code posten, in Codetags (#)?
Viele Grüße Gisbert
klar musst du den timer vorher triggern sorry vorhin am ipad verplant.
hier mal ein codeschnipsel von mir ich hoff du kannst ihn lesen
On System#Boot do
Publish %sysname%/systemname,%sysname%
Publish %sysname%/ip,%ip%
timerSet,1,60
TaskValueSet 2,1,0
endon
On Rules#Timer=1 do
Publish %sysname%/systemname,%sysname%
Publish %sysname%/ip,%ip%
Publish %sysname%/uptime,%c_m2dhm%(%uptime%)
timerSet,1,600
if [torposition#DoorPos]=1
publish %sysname%/torposition,oben
else
publish %sysname%/torposition,unten
endif
endon
on httpimpuls do
pulse,10,1,300
pulse,10,0,500
pulse,10,1,300
pulse,10,0,500
pulse,10,1,300
gpio,10,0
pulse,2,1,500
gpio,2,0
publish %sysname%/TorWebCmd,Done
TaskValueSet 2,1,[zaehler#counter]+1
endon
on torposition#DoorPos do
timerSet,2,10
endon
on Rules#Timer=2 do
if [torposition#DoorPos]=1
publish %sysname%/torposition,oben
publish %sysname%/Counter,[zaehler#counter]
else
publish %sysname%/torposition,unten
publish %sysname%/Counter,[zaehler#counter]
endif
endon
Richtig, ohne MQTT... Also, Sinn war bei mir, (wie schon früher mit dev0 besprochen) die Presents nicht mehr über gepollten (also von FHEM aktiv am Device nachgefragten) GPIO zu realisieren, weil das mittlerweile recht viele sind und da sollte die Uptime natürlich im selben Device als zusätzliches Reading reinkommen, worüber eben auch die Dosen geschaltet werden. Ich habe rausgefunden, dass auch mit Combinedevices das nur funktioniert, wenn man wie im Anhang unter Name den selben Namen für das Device angibt, wie für die Schalter und Relays... Oder liege ich da falsch ? So funktioniert das wenigstens...
Nur bei einem Device bekomme ich diese Fehlermeldung:
2019.01.03 23:59:51 1: ESPEasy ESP_Bridge: WARNING: an error occurred while creating device for ESP_Easy_PUMP: ESPEasy_ESP_Easy_PUMP already defined, delete it first
Und das kommt dann zigmal hintereinander... Woran könnte das liegen ? Ich meine ich hätte das bei dem Device genauso angelegt wie alle anderen...
Hi,
ist in der Wiki vom ESPEasy_bridge sehr gut beschrieben, siehe oben....
....Die Doku sollte helfen
und arbeit ohne großen Aufwand klasse....
gruss
sollte dein verwendeter controller in ESPeasy der Fhem Http sein, müsste es dennoch mit der von mir beschriebene methode gehen ... ::)
ist schon herrlich so automatisierungs gedöns wo immer zich wege zum selben ziel führen.
Hallo,
inzwischen kann die Uptime auch mit MQTT abgegriffen werden
Unter : Devices > SystemInfo > Uptime
%value%/60/24
Ist das eine Option?
Grüße Peter
ZitatIch habe rausgefunden, dass auch mit Combinedevices das nur funktioniert, wenn man wie im Anhang unter Name den selben Namen für das Device angibt, wie für die Schalter und Relays... Oder liege ich da falsch ?
Da liegst Du falsch, es funktioniert auch ohne gleichnamige ESP Easy Devices. Das liegt vermutlich daran, dass die neuen FHEM Devices nicht angelegt werden können, da die alten noch existieren. Duch das Setzen von combineDevices ändert sich der IDENT String, der für die Zuordnung der Daten -> FHEM Device zuständig ist.
Lösch bitte das alte Device und lass es neu anlegen. Dann sollte alles gut sein. Du könntest auch nur den IDENT Sting im Define anpassen. Wie der lautet siehst Du mit verbose 4/5.
Falls das nicht die Ursache seinen sollte, dann brauche ich Lists aller beteiligten Devices und einen global verbose 5 log, um mir das weiter anzusehen.
Zitatsollte dein verwendeter controller in ESPeasy der Fhem Http sein, müsste es dennoch mit der von mir beschriebene methode gehen ...
Ich habe und werde es nicht testen, es würde mich aber SEHR wundern, wenn das so funktionieren würden.
Zitatist in der Wiki vom ESPEasy_bridge sehr gut beschrieben
Danke, aber das Wiki ist mit Sicherheit zu verbessern, ich habe das mehr oder weniger so runtergeschrieben. Anwender könnten es mit Sicherheit bereichern oder besser formulieren. Freiwillige vor!
Zitat von: dev0 am 06 Januar 2019, 11:11:02
Lösch bitte das alte Device und lass es neu anlegen. Dann sollte alles gut sein. Du könntest auch nur den IDENT Sting im Define anpassen. Wie der lautet siehst Du mit verbose 4/5.
Danke, das hats gebracht, nun läuft das ohne Fehlermeldung ! :-)
Grüße
Christian