Hi,
siehe topic
anregungen? kritik? wünsche?
************ edit 0.1****************************
-devstate-icon klickbar
*************edit 0.2 ****************************
- ausgabe optik angepasst (standardisiert)
- punkt anklickbar -> link zum tasmota-webif
raw
defmod sonoff_Waeschetrockner MQTT2_DEVICE sonoffPow1
attr sonoff_Waeschetrockner IODev MQTT2_Broker
attr sonoff_Waeschetrockner autocreate 0
attr sonoff_Waeschetrockner devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on
attr sonoff_Waeschetrockner group Trockner
attr sonoff_Waeschetrockner model A_01c_tasmota_POW
attr sonoff_Waeschetrockner readingList tele/sonoffPOW1/LWT:.* LWT\
tele/sonoffPOW1/STATE:.* { json2nameValue($EVENT) }\
tele/sonoffPOW1/SENSOR:.* { json2nameValue($EVENT) }\
tele/sonoffPOW1/INFO.:.* { json2nameValue($EVENT) }\
stat/sonoffPOW1/RESULT:.* { json2nameValue($EVENT) }
attr sonoff_Waeschetrockner room Waschkueche
attr sonoff_Waeschetrockner setList POWER1:on,off,toggle cmnd/sonoffPOW1/POWER1 $EVTPART1
attr sonoff_Waeschetrockner setStateList on off toggle
attr sonoff_Waeschetrockner sortby 2
attr sonoff_Waeschetrockner stateFormat <a href="http://IPAddress" target="_blank">\
LWT\
</a>\
1:POWER1\
uptime: Uptime\
<br>\
aktuell: ENERGY_Power W\
Tag: ENERGY_Today kWh\
Gestern: ENERGY_Yesterday kWh\
Gesamt: ENERGY_Total kWh
attr sonoff_Waeschetrockner webCmd POWER1
setstate sonoff_Waeschetrockner <a href="http://192.168.1.190" target="_blank">\
Online\
</a>\
1:off\
uptime: 3T06:20:39\
<br>\
aktuell: 0 W\
Tag: 0.000 kWh\
Gestern: 0.000 kWh\
Gesamt: 134.120 kWh
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_ApparentPower 0
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Current 0.000
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Factor 0.00
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Period 0
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Power 0
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_ReactivePower 0
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Today 0.000
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Total 134.120
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_TotalStartTime 2019-01-28T17:54:21
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Voltage 0
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 ENERGY_Yesterday 0.000
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 FallbackTopic cmnd/sonoffPow1_fb/
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 GroupTopic sonoffs
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 Hostname SonOff-Pow1
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 IPAddress 192.168.1.190
setstate sonoff_Waeschetrockner 2019-05-15 18:01:58 LWT Online
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 LoadAvg 19
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 Module Sonoff Pow R2
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 POWER1 off
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 RestartReason Software/System restart
setstate sonoff_Waeschetrockner 2019-05-12 11:30:04 SaveData on
setstate sonoff_Waeschetrockner 2019-05-12 11:30:04 SetOption26 on
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Sleep 50
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 SleepMode Dynamic
setstate sonoff_Waeschetrockner 2019-05-12 11:30:02 StateText1 off
setstate sonoff_Waeschetrockner 2019-05-12 11:30:03 StateText2 on
setstate sonoff_Waeschetrockner 2019-05-12 11:30:03 StateText3 toggle
setstate sonoff_Waeschetrockner 2019-05-12 11:30:03 StateText4 hold
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Time 2019-05-15T17:50:25
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Uptime 3T06:20:39
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Vcc 3.193
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 Version 6.5.0(release-basic)
setstate sonoff_Waeschetrockner 2019-05-12 12:29:50 WebServerMode Admin
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Wifi_AP 1
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Wifi_BSSId 7C:FF:4D:EC:69:23
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Wifi_Channel 11
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Wifi_Downtime 0T00:00:45
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Wifi_LinkCount 7
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Wifi_RSSI 26
setstate sonoff_Waeschetrockner 2019-05-15 18:50:25 Wifi_SSId 1
setstate sonoff_Waeschetrockner 2019-05-12 12:31:21 state set_on
list
Internals:
CID sonoffPow1
DEF sonoffPow1
DEVICETOPIC sonoff_Waeschetrockner
FUUID 5c4f38e4-f33f-9f3d-89b6-78725c1862e62fe2
IODev MQTT2_Broker
LASTInputDev MQTT2_Broker
MQTT2_Broker_MSGCNT 223
MQTT2_Broker_TIME 2019-05-15 18:50:25
MSGCNT 223
NAME sonoff_Waeschetrockner
NR 142
STATE <a href="http://192.168.1.190" target="_blank">
Online
</a>
1:off
uptime: 3T06:20:39
<br>
aktuell: 0 W
Tag: 0.000 kWh
Gestern: 0.000 kWh
Gesamt: 134.120 kWh
TYPE MQTT2_DEVICE
READINGS:
2019-05-15 18:50:25 ENERGY_ApparentPower 0
2019-05-15 18:50:25 ENERGY_Current 0.000
2019-05-15 18:50:25 ENERGY_Factor 0.00
2019-05-15 18:50:25 ENERGY_Period 0
2019-05-15 18:50:25 ENERGY_Power 0
2019-05-15 18:50:25 ENERGY_ReactivePower 0
2019-05-15 18:50:25 ENERGY_Today 0.000
2019-05-15 18:50:25 ENERGY_Total 134.120
2019-05-15 18:50:25 ENERGY_TotalStartTime 2019-01-28T17:54:21
2019-05-15 18:50:25 ENERGY_Voltage 0
2019-05-15 18:50:25 ENERGY_Yesterday 0.000
2019-05-12 12:29:50 FallbackTopic cmnd/sonoffPow1_fb/
2019-05-12 12:29:50 GroupTopic sonoffs
2019-05-12 12:29:50 Hostname SonOff-Pow1
2019-05-12 12:29:50 IPAddress 192.168.1.190
2019-05-15 18:01:58 LWT Online
2019-05-15 18:50:25 LoadAvg 19
2019-05-12 12:29:50 Module Sonoff Pow R2
2019-05-15 18:50:25 POWER1 off
2019-05-12 12:29:50 RestartReason Software/System restart
2019-05-12 11:30:04 SaveData on
2019-05-12 11:30:04 SetOption26 on
2019-05-15 18:50:25 Sleep 50
2019-05-15 18:50:25 SleepMode Dynamic
2019-05-12 11:30:02 StateText1 off
2019-05-12 11:30:03 StateText2 on
2019-05-12 11:30:03 StateText3 toggle
2019-05-12 11:30:03 StateText4 hold
2019-05-15 18:50:25 Time 2019-05-15T17:50:25
2019-05-15 18:50:25 Uptime 3T06:20:39
2019-05-15 18:50:25 Vcc 3.193
2019-05-12 12:29:50 Version 6.5.0(release-basic)
2019-05-12 12:29:50 WebServerMode Admin
2019-05-15 18:50:25 Wifi_AP 1
2019-05-15 18:50:25 Wifi_BSSId 7C:FF:4D:EC:69:23
2019-05-15 18:50:25 Wifi_Channel 11
2019-05-15 18:50:25 Wifi_Downtime 0T00:00:45
2019-05-15 18:50:25 Wifi_LinkCount 7
2019-05-15 18:50:25 Wifi_RSSI 26
2019-05-15 18:50:25 Wifi_SSId 1
2019-05-12 12:31:21 state set_on
Attributes:
IODev MQTT2_Broker
autocreate 0
devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on
group Trockner
model A_01c_tasmota_POW
readingList tele/sonoffPOW1/LWT:.* LWT
tele/sonoffPOW1/STATE:.* { json2nameValue($EVENT) }
tele/sonoffPOW1/SENSOR:.* { json2nameValue($EVENT) }
tele/sonoffPOW1/INFO.:.* { json2nameValue($EVENT) }
stat/sonoffPOW1/RESULT:.* { json2nameValue($EVENT) }
room Waschkueche
setList POWER1:on,off,toggle cmnd/sonoffPOW1/POWER1 $EVTPART1
setStateList on off toggle
sortby 2
stateFormat <a href="http://IPAddress" target="_blank">
LWT
</a>
1:POWER1
uptime: Uptime
<br>
aktuell: ENERGY_Power W
Tag: ENERGY_Today kWh
Gestern: ENERGY_Yesterday kWh
Gesamt: ENERGY_Total kWh
webCmd POWER1
plot
# Created by FHEM/98_SVG.pm, 2019-01-31 21:44:28
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "Ampere"
set y2label "Watt"
#FileLog_sonoff_Waeschetrockner 4:sonoff_Waeschetrockner.ENERGY_Current\x3a::
#FileLog_sonoff_Waeschetrockner 4:sonoff_Waeschetrockner.ENERGY_Power\x3a::
plot "<IN>" using 1:2 axes x1y1 title 'Watt' ls l0dot lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Ampere' ls l4fill lw 1 with lines
Moin,
hab' mal ein wenig code aus dem bisherigen POW, dem shelly1pm und deinem Vorschlag zusammengebastelt, weiß aber nicht, ob das so "reibungslos" funktioniert, muß also ggf. noch fehlerbereinigt werden:
name:A_01c1_tasmota_POW
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
desc:Applies to Sonoff POW devices<br>NOTE: Power topic will be set to POWER1; the format the device is sending data will also be changed to lowercase!
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }set DEVICE attrTemplate A_01a_tasmota_basic_state_power1attr DEVICE setList \ off:noArg CMNDTOPIC/POWER1 0\
on:noArg CMNDTOPIC/POWER1 1\
toggle:noArg CMNDTOPIC/POWER1 2
attr DEVICE devStateIcon {my $onl = ReadingsVal($name,"LWT","false") eq "Online"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");;"<a href=\"http://".ReadingsVal($name,"IPAddress","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a> uptime: ".ReadingsVal($name,"Uptime",undef).sprintf(" aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
attr DEVICE stateFormat {sprintf("aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
deletereading -q DEVICE (?!associatedWith).*
attr DEVICE setStateList on off toggle
attr DEVICE webCmd :
attr DEVICE model A_01c1_tasmota_POW
Das relay in state schaltbar zu machen, hat den Vorteil, dass man on-for-timer etc. verwenden kann, macht es aber erforderlich, das devStateIcon mit Perl zusammenzubasteln. Außerdem sollte das online/offline-Symbol direkt zum WEB-IF führen, ohne dass extra die IP angezeigt wird; ich finde das eine elegante Lösung, die auch bei einigen anderen Devices so umgesetzt ist (die MiLight-Bridge, z.B.), ist aber natürlich Geschmackssache.
Auch wenn das mit dem svn upload grade nicht klappen will, mal noch eine Rückmeldung dazu:
Zitat von: DasQ am 15 Mai 2019, 18:57:51
hab ich mir zu herzen genommen und noch den punkt klickbar gemacht schaus dir an. von mr aus ists ok
1. ist der Thread, aus dem das stammt nicht zum diskutieren gedacht (siehe dort 1. Beitrag).
2. War dort die Frage gestellt, ob das das vorhandene Template ersetzen soll (das wollte ich jetzt so machen, leider ist das svn grade nicht erreichbar...)
3. Ist das oben zitierte der Verweis auf dein list, aber keine direkte Antwort auf die Frage, ob du das von mir daraus erstellte template jetzt als funktionsfähig getestet hast. (In dem ersten beitrag im anderen Thread (oder dem einen link dort) steht auch, wie man eigene Templates erstellen und _testen_ kann).
Mir würde es die Arbeit wirklich sehr erleichtern, wenn wir da zukünftig nicht so aneinander vorbei reden würden :D .
Zitatdas mit dem svn upload grade nicht klappen will
Habs repariert, vmtl. einer der automatischen upgrades hat iptables mal wieder zerschossen.
Zitat von: rudolfkoenig am 16 Mai 2019, 08:59:36
Habs repariert, vmtl. einer der automatischen upgrades hat iptables mal wieder zerschossen.
Thx, das ist jetzt im svn.
Kurze Frage, da jetzt wegen den on/off-Themas wieder mehr Perl-devStateIcons via template ausgeliefert werden:
Würde es Sinn machen, die (z.B.) in einer 99_attrTemplateUtils.pm zu sammeln? Ist vermutlich für unsere Zielgruppe "zu undurchsichtig", oder? Werde wohl eher einen Abschnitt in die Praxisbeispiele reinmachen und erläutern, wie man eigenen Code zentral vorhalten kann, wenn jemand andere Layouts will.
Oben steht ,,Vorschlag"
Was man jetzt draus macht, is mir im Grunde egal.
Und das mit dem Thema, Arbeit abnehmen hab ich auch schon mehrfach angesprochen, aber da kam nie eine Reaktion. ich seh meine Stärken aber nicht im Diffs erstellen und testen. Ich hab nur gute Ideen und mehr so der Erfinder.
ZitatWürde es Sinn machen, die (z.B.) in einer 99_attrTemplateUtils.pm zu sammeln?
Mit update verteilte 99-er .pm Dateien moechte ich vermeiden.
Stattdessen wuerde ich die Datei AttrTemplateUtils.pm nennen, und im template
defmod attrTemplateInit notify global:INITIALIZED { require "AttrTemplateUtils.pm" }
einfuegen.
Zitat von: DasQ am 16 Mai 2019, 10:00:25
Oben steht ,,Vorschlag"
Was man jetzt draus macht, is mir im Grunde egal.
Und das mit dem Thema, Arbeit abnehmen hab ich auch schon mehrfach angesprochen, aber da kam nie eine Reaktion. ich seh meine Stärken aber nicht im Diffs erstellen und testen. Ich hab nur gute Ideen und mehr so der Erfinder.
Es ist im Prinzip ok, wenn du Vorschläge machst. Zum Testen ist es eben in der Regel sinnvoll, wenn reale Hardware dahinter ist, daher hatte ich die Bitte geäußert, das vorab zu testen. Wenn du das nicht kannst/willst, ist das auch ok. Wenn an der Stelle "attrTemplate" mal was "kaputt" ist, funktioniert FHEM in der Regel ja trotzdem, nur das betroffene Gerät ggf. nicht.
Ein diff ist natürlich super, hier wäre auch der (ggf. verbesserte) template-Code völlig ausreichend gewesen; hatte nicht erwartet, dass das eine größere Schwierigkeit darstellt, der template-Name war ja (mind. zum Testen) unterschiedlich gewählt.
Und du darfst mir gerne Arbeit abnehmen, sorry, wenn ich da entsprechende Angebote übersehen haben sollte. Es sollte nur am Ende weniger Arbeit sein, und kein (über mehrere Threads verteiltes) Ratespiel für mich :) .
@Rudi:
Danke für den stups, klingt - wie immer - für mich sinnvoll. Die Datei sollte dann nach fhem/FHEM, oder? Eigentlich fände ich auf den ersten Blick das AttrTemplate-Verzeichnis auch keine schlechte Wahl, bin aber nicht sicher, ob fhem (ohne GPUtils) automatisch da nachsieht und ob das ggf. für die User nachvollziehbar wäre?
Dann: sollen die Funktionen ggf. in $main:: oder eher in ein eigenes package? main hätte den Vorzug, dass user das dann mit eigenen "99-ern" überschreiben könnten, ohne die Geräte im einzelnen anzufassen, das würde andererseits aber wieder Logeinträge generieren.
(Muß mal noch ein wenig darüber nachdenken, war erst mal nur ein spontaner Gedanke).
Die Datei muesste in fhem/FHEM landen, sonst wird es nicht per update verteilt.
Ich wuerde kein Package bauen: es verkompliziert mAn die Verwendung, und ist unleserlicher.
Man muss nur die Funktionsnamen etwas vorsichtiger waehlen, evtl. mit einem Praefix.
Hmm, vermutlich würde es dann Sinn machen, einen oder mehrere Parameter für - mehr oder weniger - _einen_ AttrTemplate_devStateIcon-Aufruf vorzusehen und diesen Code dann eben entsprechend komplexer zu machen.
Auch irgendwie nicht ganz so einfach (ich bekomme das schon hin, das ist nicht das Problem). Es wird dann wieder nur so kompliziert, dass Einsteiger das dann nicht mehr verstehen. Im Ergebnis ist es vermutlich besser, in den Praxisbeispielen (?, oder in 99 MyUtils erstellten) zu erklären, wie sie den devStateIcon-Code in myUtils auslagern können. Ist vielleicht sogar ein ganz passables "Lerner"-Beispiel?
Zitat von: Beta-User am 16 Mai 2019, 10:38:51
Es ist im Prinzip ok, wenn du Vorschläge machst. Zum Testen ist es eben in der Regel sinnvoll, wenn reale Hardware dahinter ist, daher hatte ich die Bitte geäußert, das vorab zu testen. Wenn du das nicht kannst/willst, ist das auch ok.
das typische wir reden aneinader vorbei. also wenn ich das hier poste, ist das bei mir im produktiveinsatz und somit getestet. cool wär aber wenn es ggf noch ein zweiter testet. und ich bin davon ausgegangen das meintest du auch. wer weis vielleicht hab ich ja bei mir was grundlegend anders gemacht. (aber bei dem milight template hat ja auch nie einer was gesagt, obwohls noch sehr wacklig war, zu dem zeitpunkt damals.)
wie schonmal gesagt, ich kann z.b. beim schreiben ins wiki helfen oder schön bebilderte tutorials basteln oder manuals. ideen liefern oder anders abstrackt denken. geht nicht, gibts nicht und von hinten durch den kopf ins aug ist auch ein weg.
(mir hat man mal gesagt, ein fragmentierten flash von ner dbox2 lässt sich nicht defragmentieren ... bis ich ihm das gegenteil bewiesen hab ...)
ich schau mir die sache mit dem diff nochmals genauer an, obwohl da des verhasst regex drin ist.
Sorry, wenn ich meine Intention mit dem geposteten template nicht klar genug ausgesprochen hatte und wir vermutlicht auch deswegen aneinander vorbei geredet haben.
Sowas heißt eigentlich immer: Bitte _als template_ testen.
Dass du ein funktionierendes Device dafür hattest, war soweit klar (und auch die meiste Arbeit, Danke im Namen aller kommenden Nutzer!). Nur leider bin ich nicht perfekt, so dass es immer mal wieder vorkommt, dass ich beim "vertemplaten" einen Zeilenumbruch vergesse, eine Klammer, "/" usw. zu viel drin ist oder einfach sonst was nicht erwartungsgemöß funktioniert.
Ansonsten mußt du nicht regex lernen oä. Das ist zwar hilfreich, aber an dem Punkt nicht erforderlich. "Einfach" nur testen reicht ::) ; "meistens" ist es so, dass es dann bei allen funktioniert, jedenfalls, wenn ich nicht hartgecodede topic-Teile übersehe, die dann auf andere Geräte nicht passen. Das zu korrigieren ist dann aber auch wirklich eine Kleinigkeit ;) .
Hallo,
ich habe hier ein Problem mit der Verwendung des Template. Ich hoffe das ich hier richtig bin.
Fhem ist auf dem Stand von gestern. Der Sonoff ist mit aktueller Tasmotasoftware in betrieb.
Der POW wird durch autogreate angelegt:
Internals:
CFGFN
CID DVES_8AD3FC
DEF DVES_8AD3FC
DEVICETOPIC MQTT2_DVES_8AD3FC
FUUID 5ce028ad-f33f-0fc8-b7c1-2b80106666164e16
IODev MQTT2_Server
NAME MQTT2_DVES_8AD3FC
NR 9176
STATE ???
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-05-18 17:45:49 ENERGY_ApparentPower 62
2019-05-18 17:45:49 ENERGY_Current 0.273
2019-05-18 17:45:49 ENERGY_Factor 0.49
2019-05-18 17:45:49 ENERGY_Period 2
2019-05-18 17:45:49 ENERGY_Power 30
2019-05-18 17:45:49 ENERGY_ReactivePower 54
2019-05-18 17:45:49 ENERGY_Today 0.026
2019-05-18 17:45:49 ENERGY_Total 0.026
2019-05-18 17:45:49 ENERGY_TotalStartTime 2019-05-16T16:04:27
2019-05-18 17:45:49 ENERGY_Voltage 227
2019-05-18 17:45:49 ENERGY_Yesterday 0.000
2019-05-18 17:45:49 LoadAvg 19
2019-05-18 17:45:49 POWER ON
2019-05-18 17:45:49 Sleep 50
2019-05-18 17:45:49 SleepMode Dynamic
2019-05-18 17:45:49 Time 2019-05-18T16:45:48
2019-05-18 17:45:49 Uptime 0T00:45:19
2019-05-18 17:45:49 Vcc 3.126
2019-05-18 17:45:49 Wifi_AP 1
2019-05-18 17:45:49 Wifi_BSSId F0:B0:14:E7:D9:A6
2019-05-18 17:45:49 Wifi_Channel 4
2019-05-18 17:45:49 Wifi_Downtime 0T00:00:04
2019-05-18 17:45:49 Wifi_LinkCount 1
2019-05-18 17:45:49 Wifi_RSSI 54
2019-05-18 17:45:49 Wifi_SSId Einbruch lohnt nicht!!!
Attributes:
IODev MQTT2_Server
readingList DVES_8AD3FC:tele/Rasenroboter/STATE:.* { json2nameValue($EVENT) }
DVES_8AD3FC:tele/Rasenroboter/SENSOR:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
Nach set attrTemplate erhalte ich die im Bild angehängte Fehlermeldung.
Danach sehen die Internals auch etwas anders aus.
Internals:
.triggerUsed 0
CFGFN
CID DVES_8AD3FC
DEF DVES_8AD3FC
DEVICETOPIC MQTT2_DVES_8AD3FC
FUUID 5ce028ad-f33f-0fc8-b7c1-2b80106666164e16
IODev MQTT2_Server
LASTInputDev MQTT2_Server
MQTT2_Server_MSGCNT 2
MQTT2_Server_TIME 2019-05-18 17:50:49
MSGCNT 2
NAME MQTT2_DVES_8AD3FC
NR 9176
STATE ???
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-05-18 17:50:49 ENERGY_ApparentPower 58
2019-05-18 17:50:49 ENERGY_Current 0.256
2019-05-18 17:50:49 ENERGY_Factor 0.52
2019-05-18 17:50:49 ENERGY_Period 3
2019-05-18 17:50:49 ENERGY_Power 30
2019-05-18 17:50:49 ENERGY_ReactivePower 50
2019-05-18 17:50:49 ENERGY_Today 0.029
2019-05-18 17:50:49 ENERGY_Total 0.029
2019-05-18 17:50:49 ENERGY_TotalStartTime 2019-05-16T16:04:27
2019-05-18 17:50:49 ENERGY_Voltage 227
2019-05-18 17:50:49 ENERGY_Yesterday 0.000
2019-05-18 17:50:48 LoadAvg 19
2019-05-18 17:50:48 POWER ON
2019-05-18 17:50:48 Sleep 50
2019-05-18 17:50:48 SleepMode Dynamic
2019-05-18 17:50:49 Time 2019-05-18T16:50:48
2019-05-18 17:50:48 Uptime 0T00:50:19
2019-05-18 17:50:48 Vcc 3.142
2019-05-18 17:50:48 Wifi_AP 1
2019-05-18 17:50:48 Wifi_BSSId F0:B0:14:E7:D9:A6
2019-05-18 17:50:48 Wifi_Channel 4
2019-05-18 17:50:48 Wifi_Downtime 0T00:00:04
2019-05-18 17:50:48 Wifi_LinkCount 1
2019-05-18 17:50:48 Wifi_RSSI 50
2019-05-18 17:50:48 Wifi_SSId Einbruch lohnt nicht!!!
Attributes:
IODev MQTT2_Server
readingList DVES_8AD3FC:tele/Rasenroboter/STATE:.* { json2nameValue($EVENT) }
DVES_8AD3FC:tele/Rasenroboter/SENSOR:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
Ich habe es schon mehrfach versucht. Also Device gelöscht, durch autogreate anlegen lassen usw..
Bekomme aber immer einen Error.
Wo liegt mein Fehler?
Ich hoffe ihr könnt mir helfen
Gruß
Jup, du bist hier (auch) richtig...
Sorry, da waren durch das Umkopieren in diese sch... Forum-Software zwei Zeilenumbrüche verloren gegangen.
Im svn ist jetzt eine hoffentlich funktionierende Fassung, allerdings will die einen LWT-Eintrag in der readingList haben. Der scheint bei dir zu fehlen ??? .
Hallo
Es sind später noch mehrere Readings dazu gekommen. Unter anderem LWT. Warum das so war/ist? Keine Ahnung.
Mit der Template aus dem SVN lief es ohne zu meckern. Danke!
Ich denke so richtig hat es doch nicht funktioniert. Ich habe weder dieses rot/grün Pünktchen noch eine Möglichkeit zu schalten.
Beim Shelly Rollo ist es wohl auch nicht richtig. Ich wurde in einem anderen Thread darauf hingewiesen. Vieleicht hab ich hier ein Problem?
Ich habe die beiden Geräte momentan zum testen im Einsatz um für einen weiteren Ausbau Erfahrungen/Erkenntnisse zu sammeln.
Hier mal ein List und ein Screenshot
Internals:
.triggerUsed 1
CID DVES_8AD3FC
DEF DVES_8AD3FC
DEVICETOPIC MQTT2_DVES_8AD3FC
FUUID 5ce028ad-f33f-0fc8-b7c1-2b80106666164e16
IODev MQTT2_Server
LASTInputDev MQTT2_Server
MQTT2_Server_MSGCNT 142
MQTT2_Server_TIME 2019-05-18 20:49:15
MSGCNT 142
NAME MQTT2_DVES_8AD3FC
NR 205
STATE aktuell: 0.0 W Tag: 0.04 kWh Gestern: 0.000 kWh Gesamt: 0.0420 kWh
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
OLDREADINGS:
READINGS:
2019-05-18 20:49:15 ENERGY_ApparentPower 0
2019-05-18 20:49:15 ENERGY_Current 0.000
2019-05-18 20:49:15 ENERGY_Factor 0.00
2019-05-18 20:44:41 ENERGY_Period 0
2019-05-18 20:49:15 ENERGY_Power 0
2019-05-18 20:49:15 ENERGY_ReactivePower 0
2019-05-18 20:49:15 ENERGY_Today 0.042
2019-05-18 20:49:15 ENERGY_Total 0.042
2019-05-18 20:49:15 ENERGY_TotalStartTime 2019-05-16T16:04:27
2019-05-18 20:49:15 ENERGY_Voltage 231
2019-05-18 20:49:15 ENERGY_Yesterday 0.000
2019-05-18 20:44:41 LoadAvg 19
2019-05-18 20:44:41 POWER1 on
2019-05-18 20:21:05 SaveData on
2019-05-18 20:21:05 SetOption26 on
2019-05-18 20:44:41 Sleep 50
2019-05-18 20:44:41 SleepMode Dynamic
2019-05-18 20:21:04 StateText1 off
2019-05-18 20:21:04 StateText2 on
2019-05-18 20:21:04 StateText3 toggle
2019-05-18 20:21:05 StateText4 hold
2019-05-18 20:49:15 Time 2019-05-18T19:49:13
2019-05-18 20:44:41 Uptime 0T00:50:42
2019-05-18 20:44:41 Vcc 3.141
2019-05-18 20:44:41 Wifi_AP 1
2019-05-18 20:44:41 Wifi_BSSId F0:B0:14:E7:D9:A6
2019-05-18 20:44:41 Wifi_Channel 4
2019-05-18 20:44:41 Wifi_Downtime 0T00:00:07
2019-05-18 20:44:41 Wifi_LinkCount 1
2019-05-18 20:44:41 Wifi_RSSI 54
2019-05-18 20:44:41 Wifi_SSId Einbruch lohnt nicht!!!
2019-05-18 20:31:15 state set_on
Attributes:
IODev MQTT2_Server
autocreate 0
devStateIcon {my $onl = ReadingsVal($name,"LWT","false") eq "Online"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");;"<a href=\"http://".ReadingsVal($name,"IPAddress","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a> uptime: ".ReadingsVal($name,"Uptime",undef).sprintf(" aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
model A_01c_tasmota_POW
readingList tele/Rasenroboter/LWT:.* LWT
tele/Rasenroboter/STATE:.* { json2nameValue($EVENT) }
tele/Rasenroboter/SENSOR:.* { json2nameValue($EVENT) }
tele/Rasenroboter/INFO.:.* { json2nameValue($EVENT) }
stat/Rasenroboter/RESULT:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
setList off:noArg cmnd/Rasenroboter/POWER1 0
on:noArg cmnd/Rasenroboter/POWER1 1
toggle:noArg cmnd/Rasenroboter/POWER1 2
setStateList on off toggle
stateFormat {sprintf("aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
webCmd :
Wenn du mit einem Texteditor per suchen und ersetzten des passus mit den Attributen aus meim raw klaust und so dein device einfügst, hast du meine Optik.
Ich hab mir des diff im Svn von der Template Änderung angeschaut und gesehn das die wertkonvertierung immer noch mit sprintf gemacht wir. Den Teil hab ich ja komplett rausgeschmissen. Das kann also nicht mit dem augenblicklichen Template so aussehen wie bei mir.
Leider Steck ich hier gerade über beide Ohren mit Arbeit eingedeckt da, sonst hätt ich das Template schon fertig gemacht.
Sorry
Danke!
Funktioniert natürlich. Also liegt es an einem unfertig verteilten Template? Oder hab doch ein anderes Problem ::)
K.A., ob man "unfertig" sagen kann. Da fehlen noch die LWT readings. Sollten nach einem reboot da sein.