[gelöst] Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Moderator: Co-Administratoren
- Baxxy
- Beiträge: 10841
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 609 Mal
- Danksagung erhalten: 2228 Mal
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
So, ich habe mal den fehlenden META-DATEN Eintrag "UNIT" mit der Einheit "°C" in mein eTRV-B mit einem kleinen Scriptchen reingeschrieben.
Dann den Datenpunkt (inkl. Historie) aus dem Historian gelöscht und die Zentrale neu gestartet.
Voila: Ob der Historian die "Unit" auch ohne komplettes Löschen irgendwann discovered hätte kann ich nicht sagen.
Wer das testen will:
Backup der Zentrale anlegen
im Script testen folgendes ausführen (Kanalnamen in der ersten Zeile anpassen!!!)
Danach nochmal prüfen mit:
Abmelden aus der WebUI bzw. "Änderungen speichern" bei RM persistiert das ganze.
Edit: bei Min/Max war eQ-3 auch sehr großzügig wie man sieht.
Dann den Datenpunkt (inkl. Historie) aus dem Historian gelöscht und die Zentrale neu gestartet.
Voila: Ob der Historian die "Unit" auch ohne komplettes Löschen irgendwann discovered hätte kann ich nicht sagen.
Wer das testen will:
Backup der Zentrale anlegen
im Script testen folgendes ausführen (Kanalnamen in der ersten Zeile anpassen!!!)
Code: Alles auswählen
!- Metadaten anlegen, setzen, entfernen, auslesen
object oDP = channels.Get ("Thermostat Heizung WZ: eTRV-B1:1 - Bedienung").DPByHssDP ("ACTUAL_TEMPERATURE");
string meta_key = "UNIT";
var meta_value = "°C";
! anlegen
oDP.AddMetaData (meta_key,meta_value);
Code: Alles auswählen
!- Metadaten anlegen, setzen, entfernen, auslesen
object oDP = channels.Get ("Thermostat Heizung WZ: eTRV-B1:1 - Bedienung").DPByHssDP ("ACTUAL_TEMPERATURE");
string meta_key = "UNIT";
var meta_value = "°C";
! abfragen
WriteLine (oDP.MetaData ("UNIT"));
Edit: bei Min/Max war eQ-3 auch sehr großzügig wie man sieht.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 257
- Registriert: 18.12.2014, 15:52
- System: CCU
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 1 Mal
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
oh wow … vielen Dank. Welche unerwünschten „Nebenwirkungen“ könnten hiermit bzw auf einer CCU2 auftreten? Ist das ne dauerhafte Lösung?
Ich übernehme keinerlei Haftung/Garantie für Tipps/Hinweise die ich hier gebe. Danke für euer Verständnis.
- Baxxy
- Beiträge: 10841
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 609 Mal
- Danksagung erhalten: 2228 Mal
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Gibt's meines Wissens keine außer eine um wenige Bytes vergrößerte homematic.regadom. Also unbedenklich.
Gute Frage.
Reboots übersteht das problemlos. Zentralen Updates gibt's für die CCU2 vermutlich eh nie mehr, also ja... dauerhaft würde ich sagen.
Sollte aber auch Updates überstehen. Nur beim komplett Löschen des Gerätes + Neuanlernen geht das flöten.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 257
- Registriert: 18.12.2014, 15:52
- System: CCU
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 1 Mal
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Nabend,
ich war mutig und hab das Skript mal laufen lassen... Lt. Abfrage wird die Einheit nun mit "°C" ausgegeben.. Mal gucken ob ccu-historian die Einheit mitbekommt, wollte das Löschen und neu Anlegen des Datenpunkts in der Datenbank erstmal vermeiden. Ich halte euch auf dem Laufenden.
Grüße M.
EDIT: Leider wurde die Einheit in ccu-historian noch nicht aktualisiert, habe zur Sicherheit auch den Datenpunkt incl. Historie gelöscht und neu erzeugen lassen. Dennoch steht in den Details weiterhin keine Einheit. Wenn ich jedoch den Datenpunkt mit der xml-api (statelist.cgi) gegenprüfe, wird der Eintrag "°C" unter valueunit korrekt angezeigt.
ich war mutig und hab das Skript mal laufen lassen... Lt. Abfrage wird die Einheit nun mit "°C" ausgegeben.. Mal gucken ob ccu-historian die Einheit mitbekommt, wollte das Löschen und neu Anlegen des Datenpunkts in der Datenbank erstmal vermeiden. Ich halte euch auf dem Laufenden.
Grüße M.
EDIT: Leider wurde die Einheit in ccu-historian noch nicht aktualisiert, habe zur Sicherheit auch den Datenpunkt incl. Historie gelöscht und neu erzeugen lassen. Dennoch steht in den Details weiterhin keine Einheit. Wenn ich jedoch den Datenpunkt mit der xml-api (statelist.cgi) gegenprüfe, wird der Eintrag "°C" unter valueunit korrekt angezeigt.
Ich übernehme keinerlei Haftung/Garantie für Tipps/Hinweise die ich hier gebe. Danke für euer Verständnis.
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Das HM-Skript ändert die Einheit nur in der ReGaDom, das sind die Daten der Logikschicht der CCU. Der CCU-Historian liest aber die Meta-Informationen (z.B. Min, Max, Einheit) direkt von den Schnittstellenprozessen mit denen die Geräte kommunizieren. Die XML-API/statelist.cgi liest ebenfalls aus der ReGaDom. Daher kommt wohl das oben Beobachtete.Micky hat geschrieben: ↑20.09.2022, 20:43EDIT: Leider wurde die Einheit in ccu-historian noch nicht aktualisiert, habe zur Sicherheit auch den Datenpunkt incl. Historie gelöscht und neu erzeugen lassen. Dennoch steht in den Details weiterhin keine Einheit. Wenn ich jedoch den Datenpunkt mit der xml-api (statelist.cgi) gegenprüfe, wird der Eintrag "°C" unter valueunit korrekt angezeigt.
Jetzt zum eigentlichen Problem: Die Schnittstellenprozesse melden falsche oder ungünstige Meta-Informationen zu einem Datenpunkt. Das kann z.B. bei der Trend-Darstellung ärgerlich sein, da der CCU-Historian diese Daten für die Darstellung verwendet. Datenpunkte mit der gleichen Einheit werden auf dieselbe Skala gesetzt. Wenn keine Einheit gesetzt ist, dann werden Min und Max dafür ausgewertet.
Es ist zukünftig angedacht, dass das Holen der Meta-Daten aus der CCU für einen Datenpunkt über die Web-UI abgeschaltet werden kann, und die Meta-Daten über die Web-UI manuell angepasst werden können. Aber das kann noch dauern.
Intern ist aber schon alles im CCU-Historian vorhanden, sodass die Anpassung auch über die Skriptumgebung erfolgen kann:
Code: Alles auswählen
// *** Meta-Informationen zu einem Datenpunkt korrigieren V1.0.0 ***
updateDataPoint("BidCos-RF", "GEQ0xxxxxx:1", "BRIGHTNESS") {
// Eigenschaften setzen.
attributes.displayName="Flur KG Helligkeit"
attributes.room="Flur KG"
attributes.function="Licht"
// Messbereich und Einheit setzen.
attributes.maximum=100000
attributes.unit="Lux"
attributes.minimum=0
// Bei stetigen Messwerten auf true setzen (z.B. Zähler, Temperatur, Füllstand) und bei
// unstetigen auf false setzen (z.B. Schalter, Aufzählung).
continuous=true
// Zyklisches Aktualisieren der Meta-Informationen aus der CCU abschalten.
// Ansonsten werden die obigen Einstellungen irgendwann wieder überschrieben.
noSynchronization=true
}
// *** Skript ***
def updateDataPoint(interfaceId, address, identifier, configure) {
def id=new DataPointIdentifier(interfaceId, address, identifier)
def dp=database.getDataPoint(id)
if (dp==null) {
throw new Exception("Datenpunkt $id nicht gefunden.")
}
configure.delegate=dp
configure.resolveStrategy=Closure.DELEGATE_ONLY
configure()
database.updateDataPoint(dp)
println "Datenpunkt $id wurde aktualisiert."
}
Das Skript setze ich gleich noch ins Wiki.
- Baxxy
- Beiträge: 10841
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 609 Mal
- Danksagung erhalten: 2228 Mal
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Die vom Script geänderten Meta-Daten stehen auch an der RPC-Schnittstelle bereit.
Schön zu sehen hier im ioBroker...
Code: Alles auswählen
{
"type": "state",
"common": {
"name": "Thermostat Heizung WZ: eTRV-B1:1 - Bedienung.ACTUAL_TEMPERATURE",
"role": "value.temperature",
"def": 0,
"type": "number",
"read": true,
"write": false,
"min": -3276.8,
"max": 3276.7,
"unit": "°C"
},
So wie ich das mal gelesen habe werden doch zyklisch die Metadaten "gescannt". Übernimmt der Historian dann auch neue/geänderte Metadaten?
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Teilweise:
Die Meta-Daten Min, Max, Einheit werden nur einmalig vom Schnittstellenprozess gelesen. Da sie sich eigentlich nie für ein Gerät ändern sollten.
Der Anzeigename, Raum und Gewerk werden zyklisch aus der ReGaHss aktualisiert.
Bei Systemvariablen werden sie ebenfalls zyklisch aus der ReGaHss aktualisiert.
-
- Beiträge: 257
- Registriert: 18.12.2014, 15:52
- System: CCU
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 1 Mal
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Hallo Mathias,
vielen Dank für deine Unterstützung. Ich muss also die o.g. Zeilen anpassen und über die Skriptumgebung der ccu-Historian WebGui absetzen oder sind diese Anpassungen für die ccu-historian.config?
Eigenschaften die nicht geändert werden sollen, können die einfach rausgelassen werden?
vielen Dank für deine Unterstützung. Ich muss also die o.g. Zeilen anpassen und über die Skriptumgebung der ccu-Historian WebGui absetzen oder sind diese Anpassungen für die ccu-historian.config?
Eigenschaften die nicht geändert werden sollen, können die einfach rausgelassen werden?
Ich übernehme keinerlei Haftung/Garantie für Tipps/Hinweise die ich hier gebe. Danke für euer Verständnis.
- Baxxy
- Beiträge: 10841
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 609 Mal
- Danksagung erhalten: 2228 Mal
Re: Darstellung HmIP-eTRV-2 bzw. HM-CC-RT-DN
Hat dein Historian die Unit nicht übernommen? Merkwürdig.
Ich würde beim Script alle Attribute außer...
...auskommentieren.
Und den:
...auf false setzen, da laut Mathias UNIT/MIN/MAX eh nur einmal discovered werden.
Ich würde beim Script alle Attribute außer...
Code: Alles auswählen
attributes.unit="Lux"
Und den:
Code: Alles auswählen
noSynchronization=true
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen