mehrere GAD in einem state plus devStateIcon möglich?

Begonnen von abc2006, 29 Dezember 2018, 19:46:32

Vorheriges Thema - Nächstes Thema

abc2006

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
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Andi291

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

abc2006

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

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

JoeALLb

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

abc2006

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

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Andi291

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

JoeALLb

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270