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° 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 (http://(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ß
Das geht. In der WIKI sind Beispiele aufgeführt.
https://wiki.fhem.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices (https://wiki.fhem.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices)
Gruß Jens
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
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)
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
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
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
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° C
Attributes:
alias EG Fussbodenheizung Temperatur Verlaeufe
room Heizung
valueFormat { Temperature => '%.1f° 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° C
Attributes:
alias EG Fussbodenheizung Temperatur Vorlauf
room Heizung
valueFormat { Temperature => '%.1f° 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° C
Attributes:
alias EG Fussbodenheizung Temperatur Ruecklauf
room Heizung
valueFormat { Temperature => '%.1f° C'}
Aufbau ist für alle Temperatur-Sensoren gleich.
Angelegt mit ESPEasy über ein ESP8266 WIFI Board.
Diese wurden dann automatisch von FHEM angelegt.
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
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
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
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