Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

frank

im fhem.log habe ich bei global verbose=1 keine hinweise gefunden. mit der neuesten version gibt es keinen absturz. dafür auch keine daten. anbei mal ein list
Internals:
   DEF        <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<battery>,<Vist>,<Vsoll> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{"Ventil.".substr($DEVICE,11)},ValveDesired@{"Ventil.".substr($DEVICE,11)} Broetje:ToutIst
   NAME       myTemp
   NR         455
   NTFY_ORDER 50-myTemp
   STATE      Initialized
   TYPE       readingsGroup
   alwaysTrigger 1
   mayBeVisible 1
   Content:
     Broetje    1
     Thermostat.AZ 1
     Thermostat.Bad 1
     Thermostat.Bad.OG 1
     Thermostat.GZ 1
     Thermostat.Kueche 1
     Thermostat.OZ 1
     Thermostat.SZ 1
     Thermostat.WZ 1
   Content2:
   DEVICES:
     ARRAY(0x164a5f8)
     ARRAY(0x16afee8)
     ARRAY(0x1680ff8)
     ARRAY(0x1676300)
     ARRAY(0x14970f8)
     ARRAY(0x1656118)
     ARRAY(0x1497628)
     ARRAY(0x16b0058)
     ARRAY(0x16afeb8)
     ARRAY(0x1497a48)
   DEVICES2:
   Fhem:
     last_update 1404763414.70858
   Helper:
     Bm:
       Readingsgroup_define:
         cnt        1
         dmx        0
         max        57
         tot        57
         mAr:
           HASH(0x13a30d0)
           myTemp readingsGroup <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<battery>,<Vist>,<Vsoll> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{"Ventil.".substr($DEVICE,11)},ValveDesired@{"Ventil.".substr($DEVICE,11)} Broetje:ToutIst
       Readingsgroup_get:
         cnt        2
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_notify:
         cnt        361
         dmx        0
         max        609
         tot        5846
         mAr:
           HASH(0x13a30d0)
           HASH(0x12babd0)
Attributes:
   alwaysTrigger 1
   commands   { 'desired-temp' => 'desired-temp:' }
   mapping    { 'Broetje' => 'Garten','Thermostat.AZ' => 'EG Arbeitszimmer','Thermostat.SZ' => 'OG Schlafzimmer','Thermostat.WZ'=>'EG Wohnzimmer','Thermostat.Kueche' => 'EG Küche','Thermostat.GZ' => 'OG Gästezimmer','Thermostat.Bad' => 'EG Bad','Thermostat.Bad.OG' => 'OG Bad','Thermostat.OZ' => 'EG Kaminzimmer','desired-temp' => '' }
   nameStyle  style="color:yellow"
   notime     1
   room       info
   valueFormat { 'measured-temp' => "%0.1f °C",'ToutIst' => "%.1f °C",'night-temp' => "%.1f °C",'day-temp' => "%.1f °C",'humidity' => "%.0f %" }
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

justme1968

ich habe den fehler gefunden.

- im {...} teil sind (wie überall sonst auch) ausser leerzeichen auch keine kommas erlaubt. die direkte version geht also in deinem beispiel auch nicht.
- wenn du die version mit sub in 99_myUtils.pm verwendest sollte deine version schon funktionieren.

- ich habe noch mal eine reparierte version angehängt die verhindert das alles leer bleibt wenn kein device für das @device gefunden wird.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

frank

alles klar, besten dank.
gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Heiner

Hi,

vielen Dank an "justme1968" funktioniert bestens.

.... (wenn man das Semikolon bei der Umrechnung in Stunden weglaesst).
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

justme1968

@frank: ich habe den aktuellen stand inzwischen eingecheckt.

es wäre schön wenn du dein komplettes beispiel inklusive screenshot ins wiki stellen oder zumindest noch mal hier posten könntest.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

frank

mit der myutils-methode funktioniert es bestens. auch longpoll.

ich hatte die direkt-methode noch mal mit
ValvePosition@{$DEVICE=~s/Thermostat/Ventil/}
versucht. ging leider nicht. vielleicht hast du zu dieser idee noch einen verbesserungsvorschlag? masquierung oder umschiffung mit etwas vergleichbarem wie "&nbsp", aber für komma, hättest du wohl schon erwähnt? direkt-methode wäre schon komfortabler.  ;)

so etwas wie spaltensortierung (min, max nach bestimmter spalte) hast du wohl nicht im angebot? ich habe nur sortDevices (alias,devicename,sortby) entdeckt.

wiki kann ich nicht, aber screenshot im anhang und ein list hier
Internals:
   DEF        <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<BatTC>,<Vist>,<Vsoll>,<Verr>,<BatVD> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{valveOfDevice($DEVICE)},ValveDesired@{valveOfDevice($DEVICE)},R-valveErrorPos@{valveOfDevice($DEVICE)},battery@{valveOfDevice($DEVICE)} Broetje:ToutIst
   NAME       myTemp
   NR         455
   NTFY_ORDER 50-myTemp
   STATE      Initialized
   TYPE       readingsGroup
   alwaysTrigger 1
   mayBeVisible 1
   Content:
     Broetje    1
     Thermostat.AZ 1
     Thermostat.Bad 1
     Thermostat.Bad.OG 1
     Thermostat.GZ 1
     Thermostat.Kueche 1
     Thermostat.OZ 1
     Thermostat.SZ 1
     Thermostat.WZ 1
   Content2:
     Ventil.AZ.Nord 1
     Ventil.Bad 1
     Ventil.Kueche 1
     Ventil.SZ  1
     Ventil.WZ  1
   DEVICES:
     ARRAY(0x18ce010)
     ARRAY(0x18cdf50)
     ARRAY(0x18c3470)
     ARRAY(0x18bb1e0)
     ARRAY(0x18cfd40)
     ARRAY(0x18ce1e0)
     ARRAY(0x1884720)
     ARRAY(0x17ba598)
     ARRAY(0x13e03e0)
     ARRAY(0x1884c60)
   DEVICES2:
     ARRAY(0x18ce010)
     ARRAY(0x18cdf50)
     ARRAY(0x18c3470)
     ARRAY(0x18bb1e0)
     ARRAY(0x18cfd40)
     ARRAY(0x18ce1e0)
     ARRAY(0x1884720)
     ARRAY(0x17ba598)
     ARRAY(0x13e03e0)
     ARRAY(0x1884c60)
     ARRAY(0x18c2a18)
     ARRAY(0x1884e60)
     ARRAY(0x8825f0)
     ARRAY(0x1876a40)
     ARRAY(0x17fa040)
     ARRAY(0x17ef1e0)
     ARRAY(0x18cc398)
     ARRAY(0x1898008)
     ARRAY(0x1884b80)
     ARRAY(0x18cc338)
     ARRAY(0x18c2a88)
     ARRAY(0x1884d60)
     ARRAY(0x18c28d8)
     ARRAY(0x1884070)
     ARRAY(0x180cd18)
     ARRAY(0x1884cf0)
     ARRAY(0x18ce170)
     ARRAY(0x18cc568)
     ARRAY(0x18cbdd8)
     ARRAY(0x18843a0)
   Fhem:
     last_update 1404809349.66305
   Helper:
     Bm:
       Readingsgroup_attr:
         cnt        2
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_define:
         cnt        4
         dmx        0
         max        111
         tot        389
         mAr:
           HASH(0x13a30b0)
           myTemp readingsGroup <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<Bat>,<Vist>,<Vsoll>,<Verr>,<Bat> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{valveOfDevice($DEVICE)},ValveDesired@{valveOfDevice($DEVICE)},R-valveErrorPos@{valveOfDevice($DEVICE)},battery@{valveOfDevice($DEVICE)} Broetje:ToutIst
       Readingsgroup_get:
         cnt        10
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_notify:
         cnt        12245
         dmx        0
         max        1158
         tot        244435
         mAr:
           HASH(0x13a30b0)
           HASH(0x12b7440)
Attributes:
   alwaysTrigger 1
   commands   { 'desired-temp' => 'desired-temp:' }
   mapping    { 'Broetje' => 'Garten','Thermostat.AZ' => 'EG Arbeitszimmer','Thermostat.SZ' => 'OG Schlafzimmer','Thermostat.WZ'=>'EG Wohnzimmer','Thermostat.Kueche' => 'EG Küche','Thermostat.GZ' => 'OG Gästezimmer','Thermostat.Bad' => 'EG Bad','Thermostat.Bad.OG' => 'OG Bad','Thermostat.OZ' => 'EG Kaminzimmer','desired-temp' => '' }
   nameStyle  style="color:yellow"
   notime     1
   room       info
   valueFormat { 'measured-temp' => "%0.1f °C",'ToutIst' => "%.1f °C",'night-temp' => "%.1f °C",'day-temp' => "%.1f °C",'humidity' => "%.0f %",'ValvePosition' => "%.0f %",'ValveDesired' => "%.0f %",'R-valveErrorPos' => "%.0f %" }
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}

und myutils
######################################################
# readingsgroup
######################################################

sub valveOfDevice ($) {
  my ($DEVICE) = @_;
 
  if ($DEVICE =~ m/AZ/) {
  return "Ventil.".substr($DEVICE,11).".Nord";
  }
  else {
  return "Ventil.".substr($DEVICE,11); 
  }
}


gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

justme1968

#516
- der =~ operator liefert nicht den wert zurück sondern die anzahl der ersetzungen. du bekommst also keinen device namen so. du musst das ergebnis auch noch zurück geben. das hier sollte gehen:ValvePosition@{$DEVICE=~s/Thermostat/Ventil/;$DEVICE;}

- das mit ersetzen durch &nbsp ist keine wirkliche lösung weil damit dann verbaut wird dasn &nbsp wirklich zu verwenden.
  wenn es komplizierter wird ist die sub eigentlich eine saubere lösung und macht die def auch kürzer.

- wenn ich dazu komme baue ich den kompletten parser um. aber das ist eine größere Baustelle.

- ein sortieren könnte man per javascript einbauen. wenn es freiwillige gibt gerne :)

- das alwaysTrigger solltest du entfernen wenn du es nicht wirklich brauchst. damit werden events und damit die longpoll updates auch getriggert wenn die readingsGroup in keinem browser fenster sichtbar ist. das ist normalerweise völlig überflüssig.

- du je nach dem ob du für deine devices passende alias vergeben hast oder ein passendes room attribut vergeben hast kannst du das mapping mit $ALIAS oder $ROOM eventuell einfacher machen.

- die % anzeige solltest du mit %% maskieren sonst bekommst du fehler im log.

danke für den screensot. ich setze es selber ins wiki.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

frank

danke für die vielen tipps.

das substituieren
ValvePosition@{$DEVICE=~s/Thermostat/Ventil/;$DEVICE;}
funktioniert auch wunderbar.

das mapping hätte ich auch lieber einfacher gehabt. aber mit meinen alias- und roomattributen leider nicht möglich. da die userreadings sehr viel freude bereiten, wird eine umstellung wohl nicht mehr lange dauern.  ;)

übrigens: cmd-select-listen aus verschiedenen devices (hm-channel) funktionieren auch sehr gut.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

harry66

Hallo

ich brauch mal einen Denkanstoß :-[

ich habe folgende readingsGroup gebastelt:
Internals:
   DEF        %sani_heating@lightblue>, <>,<Mode>,<IST-Temp>,<Batterie>,<Einstellung> HT_.*:mode,temperature,battery,desiredTemperature
   NAME       Heizungswerte
   NR         166
   NTFY_ORDER 50-Heizungswerte
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     HT_Badezimmer 1
     HT_Flur    1
     HT_Kueche  1
     HT_Niklas  1
     HT_Patrick 1
     HT_Wohnzimmer_links 1
     HT_Wohnzimmer_rechts 1
   Content2:
   DEVICES:
     ARRAY(0x13bd5a8)
     ARRAY(0x13c9110)
     ARRAY(0x13c9160)
     ARRAY(0x13c91b0)
     ARRAY(0x13c9200)
     ARRAY(0x13c9250)
     ARRAY(0x13c92a0)
     ARRAY(0x13c92f0)
   Fhem:
     last_update 1404971258.58113
Attributes:
   commands   { 'Heizungswerte.auto' => 'set $DEVICE desiredTemperature auto', 'Heizungswerte.manuell' => 'set $DEVICE desiredTemperature manual', 'desiredTemperature' => 'desiredTemperature:' }
   group      Heizungen
   mapping    { 'desiredTemperature' => '' }
   nameStyle  style="color:lightblue;font-weight:bold"
   room       Heizung
   valueFormat { 'desiredTemperature' => "%.1f&deg;C", 'temperature' => "%.1f&deg;C" }
   valueIcon  {'mode.auto' => 'sani_heating_automatic@lightgreen', 'mode.manual' => 'sani_heating_manual@yellow','state.closed' => 'fts_window_1w@lightgreen', 'state.open' => 'fts_window_1w_open@red'}


jetzt möchte ich noch meine 2 Fensterkontakte in die entsprechenden Zeilen mit einem Icon sichtbar machen?

einen von MAX!
Internals:
   CHANGED
   DEF        ShutterContact 0cade0
   IODev      ml
   LASTInputDev ml
   MSGCNT     738
   NAME       FK_Patrick
   NR         237
   STATE      closed
   TYPE       MAX
   addr       0cade0
   backend    ml
   ml_MSGCNT  738
   ml_TIME    2014-07-10 20:05:09
   rferror    0
   serial     KEQ0841064
   type       ShutterContact
   Readings:
     2014-07-10 20:05:09   MAXLAN_error    0
     2014-07-10 20:05:09   MAXLAN_errorInCommand
     2014-07-10 20:05:09   MAXLAN_initialized 1
     2014-07-10 20:05:09   MAXLAN_isAnswer 0
     2014-07-10 20:05:09   MAXLAN_valid    1
     2014-07-10 20:05:09   battery         ok
     2014-07-10 07:47:38   firmware        1.4
     2014-07-10 07:47:38   groupid         4
     2014-07-10 20:05:09   onoff           0
     2014-07-10 20:05:09   state           closed
     2014-07-10 07:47:38   testresult      15
   Internals:
     interfaces switch_active;battery
Attributes:
   IODev      ml
   devStateIcon closed:fts_window_1w@lightgreen opened:fts_window_1w_open@red
   event-on-change-reading .*
   fp_Oben    200,185,0,
   group      Fenster
   room       06Patrick


und einen von Homematic:
Internals:
   DEF        26937C
   HMLAN1_MSGCNT 14
   HMLAN1_RAWMSG E26937C,0000,185E4504,FF,FFB7,1CA64126937CAABB01011964
   HMLAN1_RSSI -73
   HMLAN1_TIME 2014-07-10 17:59:38
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     14
   NAME       FK_Wohnzimmer_mitte
   NR         239
   STATE      tilted
   TYPE       CUL_HM
   lastMsg    No:1C - t:41 s:26937C d:AABB01 011964
   protLastRcv 2014-07-10 17:59:38
   protSnd    14 last_at:2014-07-10 17:59:38
   protState  CMDs_done
   rssi_at_HMLAN1 avg:-77.5 min:-84 max:-73 lst:-73 cnt:14
   Readings:
     2014-07-10 07:47:40   Activity        alive
     2014-07-09 20:17:53   CommandAccepted yes
     2014-07-09 20:17:52   D-firmware      2.4
     2014-07-09 20:17:52   D-serialNr      LEQ0143457
     2014-07-09 20:17:53   PairedTo        0xAABB01
     2014-07-09 20:17:53   R-cyclicInfoMsg off
     2014-07-09 20:17:54   R-eventDlyTime  0 s
     2014-07-09 20:17:54   R-ledOnTime     0.5 s
     2014-07-09 20:17:54   R-msgRhsPosA    closed
     2014-07-09 20:17:54   R-msgRhsPosB    open
     2014-07-09 20:17:54   R-msgRhsPosC    tilted
     2014-07-09 20:17:53   R-pairCentral   0xAABB01
     2014-07-09 20:17:53   R-transmDevTryMax 6
     2014-07-09 20:17:54   R-transmitTryMax 6
     2014-07-09 20:17:53   RegL_00:        02:01 09:00 0A:AA 0B:BB 0C:01 10:01 14:06 00:00
     2014-07-09 20:17:54   RegL_01:        08:00 20:6C 21:00 22:64 30:06 00:00
     2014-07-09 20:18:00   alive           yes
     2014-07-10 17:59:38   battery         ok
     2014-07-10 17:59:38   contact         tilted (to HMLAN1)
     2014-07-09 20:18:00   cover           closed
     2014-07-09 20:18:00   recentStateType info
     2014-07-10 17:59:38   state           tilted
   Helper:
     mId        0030
     rxType     4
     Io:
       newChn     +26937C,00,01,FE1F
       nextSend   1405007978.42529
       prefIO
       rxt        0
       vccu
       p:
         26937C
         00
         01
         FE1F
     Mrssi:
       mNo        1C
       Io:
         HMLAN1     -71
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rpt:
       IO         HMLAN1
       flg        A
       ts         1405007978.34201
       ack:
         HASH(0x134d8b8)
         1C8002AABB0126937C00
     Rssi:
       At_hmlan1:
         avg        -77.5
         cnt        14
         lst        -73
         max        -73
         min        -84
Attributes:
   IODev      HMLAN1
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   devStateIcon closed:fts_window_1w@lightgreen opened:fts_window_1w_open@red tilted:fts_window_1w_tilt@orange
   event-on-change-reading .*
   expert     2_full
   firmware   2.4
   fp_Unten   10,460,0,
   model      HM-SEC-RHS
   peerIDs    00000000,
   room       01Wohnzimmer
   serialNr   LEQ0143457
   subType    threeStateSensor


wenn ich das richtig verstanden habe sollte das ja jetzt funktionieren?
BananaPI, RPI, nanoCUL433, RCS 1000 N Comfort, Dect200, Powerline546E, MAX!Cube, 7xMAX! HT's,3xMAX!FK HMLAN, HM-LC-Bl1PBU-FM, HM-LC-Sw4-Ba-PCB Relay Karte,  LW12, Sqeezelite, TabletUI=Kindel 8" FireHD+Handy,AmazonEcho

frank

...,state@{$DEVICE=~m/name_des_thermostats_von_patrick/?"FK_Patrick":""},...
ungetestet. nur als denkanstoss.  ;)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

harry66

was ich an der Geschichte nicht ganz verstehe ist wie die Zuordnung der zusätzlichen state@{$DEVICE.... zu den vorhandenen Zeilen zu handhaben sind.
Das bedeutet ich möchte ja den FK_Patrick auch in der Zeile HT_Patrick stehen haben.

Gruß Rolf
BananaPI, RPI, nanoCUL433, RCS 1000 N Comfort, Dect200, Powerline546E, MAX!Cube, 7xMAX! HT's,3xMAX!FK HMLAN, HM-LC-Bl1PBU-FM, HM-LC-Sw4-Ba-PCB Relay Karte,  LW12, Sqeezelite, TabletUI=Kindel 8" FireHD+Handy,AmazonEcho

justme1968

...,state@{$DEVICE=~m/name_des_thermostats_von_patrick/?"FK_Patrick":""},...geht leider wegen dem doppelpunkt so nicht direkt. du musst das ganze in eine sub in 99_myUtils.pm auslagern so wie weiter oben beschrieben.

also etwa so:define Heizungswerte readingsgroup %sani_heating@lightblue>, <>,<Mode>,<IST-Temp>,<Batterie>,<Einstellung> HT_.*:mode,temperature,battery,desiredTemperature,state@{FK2HT($DEVICE)}

das prinzip dahinter ist das die sub pro zeile aufgerufen wird und du das aktuelle device prüfst und wenn es das passende ist gibst du den fenster kontakt zurück. sonst nichts. wenn ein leeres device zurück kommt wird kein reading angezeigt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

harry66

Danke für die Erklärung, jetzt hab ich schon mal die Logik verstanden. Dan fange ich mal an meine Programmierkenntnisse aufzufrischen ;D

Gruß Rolf
BananaPI, RPI, nanoCUL433, RCS 1000 N Comfort, Dect200, Powerline546E, MAX!Cube, 7xMAX! HT's,3xMAX!FK HMLAN, HM-LC-Bl1PBU-FM, HM-LC-Sw4-Ba-PCB Relay Karte,  LW12, Sqeezelite, TabletUI=Kindel 8" FireHD+Handy,AmazonEcho

frank

gibt es eigentlich eine möglichkeit, die readings an eine bestimmte spalte zu binden?

ich habe eine titelzeile mit ca 10 namen (spalten). wenn dann in den folgenden zeilen readings fehlen (zb momentan nicht definiert/existent), rücken ja die nachfolgenden readings der zeile um die fehlenden positionen nach vorne. fehlt gleich das erste reading, ist die zuordnung der übrigen schon völlig durcheinander. ich hoffe das ist verständlich.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

justme1968

nein. das geht zur zeit nicht.

das problem ist das die readings in der definition reguläre ausdrücke sind und die position dort nichts über die endgültige position in der tabelle aussagt und mir bis jetzt noch nichts vernünftiges eingefallen war.

du hast mich aber eben auf eine idee gebracht :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968