Hauptmenü

Hilfe Fhem readingsGroup

Begonnen von Muckiknack, 01 Oktober 2018, 08:56:03

Vorheriges Thema - Nächstes Thema

Muckiknack

Hallo,

ich möchte mir gerne die FHEM Oberfläche verschönern.

Hatte dort an 1 Seite als Dashboard gedacht, das alle relevanten Informationen beinhaltet (Raum Temperatur, Heizung, Licht, Wetter, Müllkalender)

Jedoch muss ich gestehen dass ich mit der Hilfe und commandref beim Befehl readingGroup nicht weiter komme.

Ich verstehe es nicht wie ich es anwenden kann.

Vielleicht kann mir jemand helfen.

Ich lese über ein ESP-Wifi Board, jeweils die Vorlauf als auch die Rücklauftemperatur von der Fußbodenheizung mit einem DS18b20 ein.

Diese apcke ich dann in Fhem in eine readingsGroup ein (Siehe Screenshot).


define fbh_temperatur readingsGroup TYPE=ESPEasy:Temperature
attr fbh_temperatur alias EG Fussbodenheizung Temperatur Verlaeufe
attr fbh_temperatur room Heizung
attr fbh_temperatur valueFormat { Temperature => '%.1f&deg C'}


Ich hätte nun eine Auflistung aller Räume, wobei  jeweils ein Raum mit der Vorlauf und Rücklauftemperatur in einer Zeile aufgelistet werden.

Dieser Link beschreibt das ganz genau was ich haben will.
(https://wiki.fhem.de/wiki/ReadingsGroup und dann das Topic "Heizungswerte inklusive Batterie- und Fensterstatus"

Wie kann ich dies nun umsetzen. Mit einem readingsGroup werde ich nicht auskommen oder?
Die Devices unterscheiden sich wirklich nur in der Namensgebung. Wie kann ich nun die Vorlauf- und Rücklauftemperatur nebeneinander anzeigen?

Wie muss ich mir den Namen zerlegen um dies unterscheiden zu können?

Hoffe mein Problem ist verständlich und ihr könnt helfen.

Danke & Gruß

JensS

Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

MadMax-FHEM

Wie heißen deine Geräte und wie das jeweilige Reading für Vor-/Rücklauf?

Wenn sie entsprechend benamst sind und auch die Readings jeweils gleich sind, dann geht das ganz einfach.

Poste doch mal ein list eines Gerätes...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Muckiknack

Hallo,

so heißen meine Geräte (ein Auszug aus Fhem.cfg.)


define ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur ESPEasy 192.168.2.113 80 ESPBridge ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur IODev ESPBridge
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur Interval 300
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur group ESPEasy Device
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur presenceCheck 1
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur readingSwitchText 1
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur room ESPEasy
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur setState 3
attr ESPEasy_ESP_Easy_FBH_EG_Kueche_Ruecklauf_Temperatur stateFormat Temperature °C


Alle Geräte im Bild.

Zudem noch ein Screen vom einem Gerät (hoffe das war mit List gemeint)


Muckiknack

Nachtrag:

Habe nun die Devices umbenannt und  nun jeweils ein readingsGroup für Vorlauf udn Rücklauf erstellt.

Das hat soweit auch funktioniert.

Wie kann ich nun in einer readingsGroup  2 readingsGroup verschachteln?

define temp readingsGroup <Name>,<Vorlauf>,<Ruecklauf> "readingsGroup Vorlauf" "readingsGroup Ruecklauf"

Was muss ich für die "" einsetzen?

Anbei noch die List

ESPBridge
FBH_EG_Ruecklauf_Temperatur_FHB_EG
FBH_EG_Ruecklauf_Temperatur_Flur
FBH_EG_Ruecklauf_Temperatur_Gaeste_WC
FBH_EG_Ruecklauf_Temperatur_Kueche
FBH_EG_Ruecklauf_Temperatur_WZ1
FBH_EG_Ruecklauf_Temperatur_WZ2
FBH_EG_Vorlauf_Temperatur_FHB_EG
FBH_EG_Vorlauf_Temperatur_Flur
FBH_EG_Vorlauf_Temperatur_Gaeste_WC
FBH_EG_Vorlauf_Temperatur_Kueche
FBH_EG_Vorlauf_Temperatur_WZ1
FBH_EG_Vorlauf_Temperatur_WZ2

MadMax-FHEM

#5
Nein, mit list war gemeint:

list Gerätename

in das Webcmd-Fenster und dann "Enter" und das was dann kommt hier in "code-Tags" (das '#' im Menü) posten.

D.h. du hast jeweils für Vorlauf und Rücklauf ein eigenes "Gerät"?

Bitte nenne mal alle Namen der Geräte oder zumindest so viele dass "die Logik" hinter den Namen erkennbar wird oder gleich "die Logik" hinter den Namen, damit man etwas "ableiten" kann...
...wenn es keine "brauchbare" Logik gibt wird es schwer bzw. halt die DEF entsprechend lang und nicht "generisch" (d.h. wenn du ein neues Gerät hinzufügst musst du evtl./sehr wahrsch. die DEF anpassen / unschön).

EDIT: gut die Namen sind wohl der Liste zu entnehmen. Fehlt noch: welches Reading usw.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Wie geschrieben: list (mindestens eines besser mehrerer) Geräte.

Ich muss halt erkennen wie die Namensgebung so aussieht (gut das liefert die Liste) und dann noch in welchem Reading die gewünschte Temperatur steht (dazu das list des Gerätes)...

Du kannst auch mal das list beider readingsGroup posten...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Muckiknack

Anbei die List für:

FBH_EG_Ruecklauf_Temperatur_FHB_EG (1 Gerät)


Internals:
   DEF        192.168.2.113 80 ESPBridge FBH_EG_Ruecklauf_Temperatur_FHB_EG
   ESPBridge_MSGCNT 18
   ESPBridge_TIME 2018-10-02 11:51:02
   ESP_BUILD  20102
   ESP_BUILD_GIT mega-20180723
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID 17: ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   10
   ESP_VERSION 2
   HOST       192.168.2.113
   IDENT      FBH_EG_Ruecklauf_Temperatur_FHB_EG
   INTERVAL   300
   IODev      ESPBridge
   LASTInputDev ESPBridge
   MSGCNT     18
   NAME       FBH_EG_Ruecklauf_Temperatur_FHB_EG
   NOTIFYDEV  global
   NR         101
   NTFY_ORDER 50-FBH_EG_Ruecklauf_Temperatur_FHB_EG
   PORT       80
   STATE      18.44 °C
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    2.00
   READINGS:
     2018-10-02 11:51:02   Temperature     18.44
     2018-10-02 11:48:34   presence        present
     2018-10-02 11:51:02   state           Tem: 18.44
   helper:
     fpc        1538466458
     pm:
       Encode     1
       JSON       1
     received:
       Temperature 1538473862
   sec:
     admpwd     
Attributes:
   IODev      ESPBridge
   Interval   300
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   stateFormat Temperature °C


Anbei die List für die readingsGroup für alle Devices:


Internals:
   DEF        TYPE=ESPEasy:Temperature
   NAME       fbh_temperatur
   NR         116
   NTFY_ORDER 50-fbh_temperatur
   STATE      Initialized
   TYPE       readingsGroup
   CONTENT:
     ESPBridge  1
     FBH_EG_Ruecklauf_Temperatur_FHB_EG 1
     FBH_EG_Ruecklauf_Temperatur_Flur 1
     FBH_EG_Ruecklauf_Temperatur_Gaeste_WC 1
     FBH_EG_Ruecklauf_Temperatur_Kueche 1
     FBH_EG_Ruecklauf_Temperatur_WZ1 1
     FBH_EG_Ruecklauf_Temperatur_WZ2 1
     FBH_EG_Vorlauf_Temperatur_FHB_EG 1
     FBH_EG_Vorlauf_Temperatur_Flur 1
     FBH_EG_Vorlauf_Temperatur_Gaeste_WC 1
     FBH_EG_Vorlauf_Temperatur_Kueche 1
     FBH_EG_Vorlauf_Temperatur_WZ1 1
     FBH_EG_Vorlauf_Temperatur_WZ2 1
   CONTENT2:
   DEVICES:
     ARRAY(0x2b45d88)
     ARRAY(0x2a9bc70)
     ARRAY(0x2b23a60)
     ARRAY(0x2aaba20)
     ARRAY(0x2a8e720)
     ARRAY(0x2c09400)
     ARRAY(0x2c55698)
     ARRAY(0x2beb6c8)
     ARRAY(0x2bc8a08)
     ARRAY(0x2b6fdc8)
     ARRAY(0x24d0ee8)
     ARRAY(0x2c51248)
     ARRAY(0x2af56e8)
   fhem:
     lastDefChange 222
     last_update 1538466450.44459
   helper:
     DEF       
     valueFormat:
       Temperature %.1f&deg C
Attributes:
   alias      EG Fussbodenheizung Temperatur Verlaeufe
   room       Heizung
   valueFormat { Temperature => '%.1f&deg C'}


Anbei noch die List für die Vorlauftemperatur:

Internals:
   DEF        FBH_EG_Vorlauf_Temperatur.*:Temperature
   NAME       fbh_temperatur_vorlauf
   NR         122
   NTFY_ORDER 50-fbh_temperatur_vorlauf
   STATE      Initialized
   TYPE       readingsGroup
   CONTENT:
     FBH_EG_Vorlauf_Temperatur_FHB_EG 1
     FBH_EG_Vorlauf_Temperatur_Flur 1
     FBH_EG_Vorlauf_Temperatur_Gaeste_WC 1
     FBH_EG_Vorlauf_Temperatur_Kueche 1
     FBH_EG_Vorlauf_Temperatur_WZ1 1
     FBH_EG_Vorlauf_Temperatur_WZ2 1
   CONTENT2:
   DEVICES:
     ARRAY(0x2b44f28)
     ARRAY(0x2818fa8)
     ARRAY(0x2bed5e0)
     ARRAY(0x2cd31b8)
     ARRAY(0x26d7f60)
     ARRAY(0x2bb9ae8)
   fhem:
     lastDefChange 222
     last_update 1538466450.44705
   helper:
     DEF       
     valueFormat:
       Temperature %.1f&deg C
Attributes:
   alias      EG Fussbodenheizung Temperatur Vorlauf
   room       Heizung
   valueFormat { Temperature => '%.1f&deg C'}


Und hier für Rücklauf


Internals:
   DEF        FBH_EG_Ruecklauf_Temperatur.*:Temperature
   NAME       fbh_temperatur_ruecklauf
   NR         124
   NTFY_ORDER 50-fbh_temperatur_ruecklauf
   STATE      Initialized
   TYPE       readingsGroup
   CONTENT:
     FBH_EG_Ruecklauf_Temperatur_FHB_EG 1
     FBH_EG_Ruecklauf_Temperatur_Flur 1
     FBH_EG_Ruecklauf_Temperatur_Gaeste_WC 1
     FBH_EG_Ruecklauf_Temperatur_Kueche 1
     FBH_EG_Ruecklauf_Temperatur_WZ1 1
     FBH_EG_Ruecklauf_Temperatur_WZ2 1
   CONTENT2:
   DEVICES:
     ARRAY(0x2c55818)
     ARRAY(0x2b38210)
     ARRAY(0x28bfa18)
     ARRAY(0x2c6a510)
     ARRAY(0x28bf688)
     ARRAY(0x28487b8)
   fhem:
     lastDefChange 222
     last_update 1538466450.44592
   helper:
     DEF       
     valueFormat:
       Temperature %.1f&deg C
Attributes:
   alias      EG Fussbodenheizung Temperatur Ruecklauf
   room       Heizung
   valueFormat { Temperature => '%.1f&deg C'}



Aufbau ist für alle Temperatur-Sensoren gleich.
Angelegt mit ESPEasy über ein ESP8266 WIFI Board.
Diese wurden dann automatisch von FHEM angelegt.


Brandenburger

z.B.
define temp readingsGroup <Name>,<Vorlauf>,<Ruecklauf> ESPEasy_ESP_Easy_FBH_EG_FHB_EG_Vorlauf_Temperatur:Temperature,Temperature@ESPEasy_ESP_Easy_FBH_EG_FHB_EG_Ruecklauf_Temperatur

Gruß aus Brandenburg

Muckiknack

Danke das hat funktioniert,

Wie kann ich denn bei der @Funktion alle ausgeben lassen?


define fbh_temperatur_1 readingsGroup <Name>,<Vorlauf>,<Ruecklauf> FBH_EG_Vorlauf_Temperatur.*:Temperature,Temperature@FBH_EG_Ruecklauf_Temperatur.*


@FHB_EG_Ruecklauf_Temperatur.*  funktioniert nicht

MadMax-FHEM

Zitat von: Brandenburger am 02 Oktober 2018, 13:05:25
z.B.
define temp readingsGroup <Name>,<Vorlauf>,<Ruecklauf> ESPEasy_ESP_Easy_FBH_EG_FHB_EG_Vorlauf_Temperatur:Temperature,Temperature@ESPEasy_ESP_Easy_FBH_EG_FHB_EG_Ruecklauf_Temperatur

Gruß aus Brandenburg

Wäre aber nur für genau das eine Paar aus Vorlauf-/Rücklauftemperatur...

Bzw. kannst du natürlich "einfach" jede Zeile wie hier beschrieben pro Gerät selbst definieren...
...ist halt dann leider nicht generisch...


Da die Readings für Vorlauf/Rücklauf gleich heißen, also 'Temperatur' und "nur" in 2 verschiedenen Geräten stecken wird es etwas komplizierter bzw. muss ich mal 2 Minuten länger nachdenken ;)

Wenn es unterschiedliche Readingsnamen (z.B. TempVorlauf / TempRücklauf) im gleichen Gerät (FBH_EG_Temperatur_FHB_EG 1, FBH_EG_Temperatur_Flur 1, usw.) wären wäre es einfach:

define rgTemperaturen readingsGroup <Name>,<Vorlauf>,<Ruecklauf> NAME=FBH_EG_Temperatur.*:TempVorlauf,TempRücklauf

Ansonsten wie gesagt muss ich noch mal (kurz) nachdenken...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Brandenburger

#11
define temp readingsGroup <Name>,<Vorlauf>,<Ruecklauf> ESPEasy_ESP_Easy_FBH_(.*?)Vorlauf_Temperatur.*:Temperature,Temperature@{$DEVICE=~s/Vorlauf/Ruecklauf/;$DEVICE;}

Hab's nochmal angepasst, dass bei der Suche nur die Vorlauftemperaturen gefiltert werden.

Gruß aus Brandenburg