Hi,
ich habe heute umgestellt auf die neue Syntax.
Dabei folgendes Device:
Internals:
DEF 1/2/5:dpt1:steuern:set:nosuffix 1/2/7:dpt7.012:current:get:nosuffix 1/2/9:dpt13.010:energy:get:nosuffix 1/2/11:dpt1:status:get:nosuffix
DEVNAME KNX02.O02_Aktor_Kuehlschrank
FIRSTGADNAME steuern
GETSTRING steuern:noArg status:noArg current:noArg energy:noArg
IODev tul
LASTInputDev tul
MSGCNT 103
NAME KNX02.O02_Aktor_Kuehlschrank
NR 86
NTFY_ORDER 50-KNX02.O02_Aktor_Kuehlschrank
SETSTRING steuern:off,on
STATE 1780 mA 1772136 Wh on
TYPE KNX
tul_MSGCNT 103
tul_RAWMSG C01103w0120706f4
tul_TIME 2018-12-29 19:42:03
GADDETAILS:
current:
CODE 01207
GROUP 1/2/7
MODEL dpt7.012
NO 2
OPTION get
RDNAMEGET current
RDNAMEPUT current
RDNAMESET
SETLIST :slider,0,655,65535
energy:
CODE 01209
GROUP 1/2/9
MODEL dpt13.010
NO 3
OPTION get
RDNAMEGET energy
RDNAMEPUT energy
RDNAMESET
SETLIST :slider,-2147483647,42949672,2147483647
status:
CODE 0120b
GROUP 1/2/11
MODEL dpt1
NO 4
OPTION get
RDNAMEGET status
RDNAMEPUT status
RDNAMESET
SETLIST :off,on
steuern:
CODE 01205
GROUP 1/2/5
MODEL dpt1
NO 1
OPTION set
RDNAMEGET
RDNAMEPUT
RDNAMESET steuern
SETLIST :off,on
GADTABLE:
01205 steuern
01207 current
01209 energy
0120b status
Helper:
DBLOG:
current:
logdb:
TIME 1546108923.15987
VALUE 1780
energy:
logdb:
TIME 1546108629.46086
VALUE 1772136
state:
logdb:
TIME 1546105629.81958
VALUE 1771982
READINGS:
2018-12-29 19:42:03 current 1780 mA
2018-12-29 19:42:03 currentA 1.780 A
2018-12-29 19:37:09 energy 1772136 Wh
2018-12-29 19:42:03 last-sender 1/1/3
2018-12-29 19:42:03 power 409 VA
2018-12-29 12:50:56 setG1 on
2018-12-29 19:42:03 state on
2018-12-29 18:39:57 steuern on
Attributes:
DbLogInclude current,energy,steuern,status
IODev tul
devStateIcon on::off off::on
room KNX
stateCmd ReadingsVal($name,"steuern",-1);
stateFormat current energy steuern
userReadings power { sprintf("%.0f VA",ReadingsNum($name,"current","")*0.23);},
currentA { sprintf("%.3f A",ReadingsNum($name,"current","")/1000); }
Kann ich jetzt irgendwie in meinem state ein Icon bekommen, welches ich zum schalten anklicken kann, als auch die aktuellen Werte für Strom und Leistung?
Ich krieg entweder das eine, oder das andere hin...
ein
stateFormat steuern current energy
erzeugt mir zwar ein Icon, aber current und energy werden ausgeblendet ...
Vielen Dank,
Stephan
Abend!
Entweder Du löst es mit stringbildung, oder nutzt ReadingsGroup.
Object with feedback, icon showing transistions:
define sps KNX 0/4/0:dpt1:steuern 0/4/1:dpt1:status
attr sps devStateIcon status-on:general_an:Aus status-off:general_aus:Ein steuern.*:hourglass:Aus
attr sps eventMap /steuern on:Ein/steuern off:Aus/
attr sps stateRegex /steuern-[sg]et:/steuern-/ /status-get:/status-/
attr sps webCmd Ein:Aus
Hi,
danke für die schnelle Antwort.
Leider .. steh ich weiterhin auf dem schlauch ...
Das Beispiel hab ich gesehen, steht in der commandref (oder hab ich irgendwo nen Unterschied übersehen)?
Damit erzeugst du ja das Icon für an, aus, und das stundenglas wenn der steuern-befehl noch unterwegs ist.
Aber: Ich will ja *neben* diesem Konstrukt(Icon) noch die Anzeige "I: 10A P:2300 VA" haben ...
"stringbildung" sagt mir in diesem kontext nix, und Readingsgroup im Zusammenhang mit Stateformat hab ich noch nie gehört - ich schau aber da gleich mal rein ...
Grüße,
Stephan
Mit widgetoverride und webcmd ist das möglich.
Hey,
nach der Lösung von wichtigen Problemen hab ich heute mal wieder Zeit für optik/haptik:)
Leider helfen mir eure Antworten nicht bis zur Lösung weiter, was daran liegen mag, dass ich die Befehle nicht tief genug Durchblicke.
Also hab ich mir gedacht, ich schreib einfach mal auf, was mir klar ist:
In der FHEM-Übersicht gibt es bei Devices ja zwei Bereiche: den linken, in dem der Device-Name steht, und den rechten, der den Status, webcmd, widgets oder sonstige Interaktionsgeräte enthält.
widgetOverride:
WidgetOverride kann den rechten Interaktions-Bereich überschreiben. Dafür gibt es Widgets, die unter
https://wiki.fhem.de/wiki/FHEMWEB/Widgets zu finden sind.
Einen Schaltbutton kann ich anlegen mit
attr my_dummy widgetOverride state:uzsuToggle,on,off.
Allerdings hab ich keine Ahnung, warum "state:", und warum der Button nicht direkt angezeigt wird.
WebCmd:
Mit WebCmd kann man in der Übersicht Befehle einfügen:
attr my_dummy webCmd on:off:eins:zwei:drei
Nun werden in der übersicht die Texte on,off,eins,zwei und drei hintereinander in grün klickbar angelegt.
Wenn man jetzt auf "eins" klickt, erscheint vor den grünen texten ein "eins" in schwarz.
dies ist nicht klickbar. Wenn ich jetzt auf "off" klicke, erscheint anstatt dem schwarzen text eine klickbare grüne Birne.
soweit, sogut. Aber: meinem Ziel, vorne eine birne und danach ReadingValues stehen zu haben, bin ich nicht näher gekommen ...
Wenn ich jetzt
setreading my_dummy a eins,
setreading my_dummy b zwei
attr stateFormat a b
eingebe, erscheint in der Übersicht
"eins zwei" in schwarz und danach "on off eins zwei drei" in grün.
sorry, ich weiss nicht weiter...
Bitte helft mir nochmal. Danke!
Stephan
Musst Dich mal ein wenig mit WidgetOverride beschäftigen. Hier ein Beispiel:
define rtr_eg_gaeste KNX 8/1/25:dpt9.001:sollwertv:nosuffix 8/1/24:dpt5:status 8/1/26:dpt1:heizbetrieb 8/1/27:dpt5.001:stellgrroh 8/1/28:dpt1:stellgr 8/1/29:dpt9.001:solltemp 8/1/30:dpt9.001:isttemp
attr rtr_eg_gaeste IODev knxd
attr rtr_eg_gaeste alias Temperatur
attr rtr_eg_gaeste event-on-change-reading .*
attr rtr_eg_gaeste group Raumtemperaturregelung
attr rtr_eg_gaeste icon sani_heating_temp
attr rtr_eg_gaeste room Gästezimmer
attr rtr_eg_gaeste stateCmd {sprintf("Ist.-Temp: %s", ReadingsVal($name,"isttemp-get",""))}
attr rtr_eg_gaeste verbose 5
attr rtr_eg_gaeste webCmd sollwertv
attr rtr_eg_gaeste webCmdLabel Sollwertverschiebung
attr rtr_eg_gaeste widgetOverride sollwertv:slider,-5,0.5,5,1
Seit kurzem gehen auch mehrere Devstateicons!
Siehe https://forum.fhem.de/index.php/topic,97586.0.html
sG
Joe