Neues Modul HMCCU für Homematic CCU

Begonnen von zap, 19 August 2015, 19:45:30

Vorheriges Thema - Nächstes Thema

zap

#885
Ich habe gerade die Version 3.5 eingecheckt. Änderungen:

88_HMCCU

  • Neuer Befehl 'get defaults' listet die Gerätetypen auf, für die Default-Attribute verfügbar sind (inklusive vom Benutzer definierte Attribute)
  • Neuer Befehl 'get exportdefaults' erzeugt aus den Default-Attributen in HMCCUConf.pm eine Textdatei, die als Grundlage für eine eigene Default-Attribut Datei verwendet werden kann
  • Neuer Befehl 'set importdefaults' importiert aus einer angegebenen Textdatei benutzerdefinierte Default-Attribute. Diese haben Vorrang gegenüber der Datei HMCCUConf.pm. Für eine persistente Einbindung der Attribut-Datei wird das Attribut 'ccudefaults' auf den Pfadnamen der Datei mit den benutzerdefinierten Default-Attributen
  • Neuer Befehl 'set cleardefaults' löscht benutzerdefinierte Default-Attribute
  • Default-Attribute werden nun auch für Devices vom Typ HMCCUCHN unterstützt
  • Autocreate im Befehl 'get devicelist' unterstützt nun die Option 'defattr' zum automatischen Setzen von Default-Attributen bei der Erzeugung von Devices

88_HMCCUDEV, 88_HMCCUCHN

  • Neues Attribut 'substexcl' schließt einzelne Readings von der Werteersetzung mit 'substitute' aus. Sinnvoll in Zusammenhang mit der Ersetzung von Nummernbereichen (s.u.)
  • Attribut 'substitute' unterstützt nun Nummernbereiche. Hilfreich für Dimmer, Rolläden und Thermostate. Beispiel s.u. Ein Nummernbereich beginnt immer mit einer # gefolgt vom Bereich im Format Min-Max. Bei Einzelwerten ist Min=Max (z.B. '#3-3')
  • Attribut 'substitute' unterstützt nun die Einschränkung auf Datenpunkte bestimmter Kanäle. Beispiel: 1.STATE!0:off,1:on. Hilfreich, wenn mehrere Kanäle den gleichen Datenpunkt haben

Bugfixes

  • Bei HMCCUCHN Devices ist nun der Befehl 'set control' verfügbar
  • Reihenfolge der Bearbeitung von Readingvalues geändert: 1. Skalierung, 2. Formatierung, 3. Substitute

Beispiel für Werteersetzung bei Wandthermostaten:


attr mytherm controldatapoint 2.SET_TEMPERATURE
attr mytherm substexcl control
attr mytherm substitute SET_TEMPERATURE!#0-4.5:off,30.5-40:on
attr mytherm widgetOverride control:slider,4.5,0.5,30.5,1


Mit diesem Code wird die Zieltemperatur 4.5 als off und 30.5 als on dargestellt. Alle anderen Temperaturen werden mit ihrem Wert dargestellt.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

bart

moin,

ich schlage mich gerade durch eine fhem Konfiguration mit hmcc durch. An sich scheint alles zu laufen, zumindest bekomme ich die Readings und Config Values aller Heizungsthermostate und auch der Fensterkontake.

Allerdings kommen regelmässig im Log die folgende Meldung:
2016.11.10 22:19:19.860 3: CCURPC: CB2001 Received 500 events from CCU since last check

Ist diese ein Anzeichen für ein Problem oder nur eine Statusmeldung?
CCU2 für die Heizungsteuerung und Fenster/Türkontakte
FHEM auf Debian-Server (x64) für den Rest
HMCCU: Schnittstelle CCU2 - FHEM

zap

Reine Statusmeldung die zeigt, dass Events von der CCU ankommen. Mit Loglevel < 3 kommt die Meldung nicht.

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

bart

CCU2 für die Heizungsteuerung und Fenster/Türkontakte
FHEM auf Debian-Server (x64) für den Rest
HMCCU: Schnittstelle CCU2 - FHEM

Stril

#889
Hallo!

Irgendwie habe ich ein Problem nach dem letzten Update. HMCCU bleibt stehen auf "rpcstate starting"

Das Log ist wenig aufschlussreich für mich:


2016.11.11 22:44:19 0: HMCCU: Autostart of RPC server after FHEM initialization in 12 seconds
2016.11.11 22:44:31 2: HMCCU: Create child process with timeouts 0.01 and 0.25
2016.11.11 22:44:31 0: HMCCU: Child process for server CB2001 started with PID 1343
2016.11.11 22:44:31 2: HMCCU: Create child process with timeouts 0.01 and 0.25
2016.11.11 22:44:31 0: HMCCU: Child process for server CB2010 started with PID 1344
2016.11.11 22:44:38 0: HMCCU: Received SL event. RPC server CB2001 enters server loop
2016.11.11 22:44:45 1: HMCCU: Registering callback http://10.10.9.11:7401/fh2001 with ID CB2001 at http://10.10.9.32:2001/
2016.11.11 22:44:45 1: CCURPC: CB2001 ListDevices. Sending init to HMCCU
2016.11.11 22:44:45 1: HMCCU: RPC callback with URL http://10.10.9.11:7401/fh2001 initialized
2016.11.11 22:44:47 0: HMCCU: Received IN event. RPC server CB2001 initialized.
2016.11.11 22:44:47 0: HMCCU: Received SL event. RPC server CB2010 enters server loop
2016.11.11 22:44:54 1: HMCCU: Registering callback http://10.10.9.11:7410/fh2010 with ID CB2010 at http://10.10.9.32:2010/
2016.11.11 22:44:54 1: HMCCU: RPC callback with URL http://10.10.9.11:7410/fh2010 initialized


Habt ihr dazu eine Idee?

EDIT: Nach einem Neustart der CCU2 läuft alles wieder - mit HMCCU 3.5

Gruß
Phil

zap

Das sind die normalen Meldungen beim Start des RPC Servers. Hast du vor dem Update den RPC Server gestoppt? Sollte man machen.
Die Meldungen deuten jedenfalls nicht auf einen Fehler hin.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Stril

Hallo!

Ich hatte fhem sogar ganz neu gestartet, aber auch nach 10 min stand das Modul auf busy.

Nach dem ccu2 Neustart sieht aber alles fit aus.

bart

moin,

ich habe ein komisches Phänomen bei der Darstellung der Thermostate States. Nach dem ändern des StateFormat sieht alles normal aus. Sobald ein Update auf dem Device kommt ändert sich die Schriftart und die Darstellung wird auf mehr als die gewünschten 2 Zeilen verteilt. Wenn ich dann ein Reload der Seite mache, dann sieht alles wieder normal aus. Ich habe mir mal den HTML Quellcode angeschaut, der Unterschied ist das es einmal mir <pre> </pre> formatiert wird undbei einem Device Update das <pre> verloren geht.

Zitat
nach Reload (mit pre):
======================
<td informid="wz_Thermostat"><pre> <div id="wz_Thermostat" title="T: <b style=color:orange>25.2</b>°C
M: AUTO
<br />
V: <b style=color:red>0</b>
B: OK" class="col2"><a style="cursor: pointer;">T: <b style="color:orange">25.2</b>°C
M: AUTO
<br>
V: <b style="color:red">0</b>
B: OK</a></div></pre> </td>


nach Device Update  (ohne pre):
========================
<td informid="wz_Thermostat"><div id="wz_Thermostat" title="T: <b style=color:orange>25.2</b>°C
M: AUTO
<br />
V: <b style=color:red>0</b>
B: OK" class="col2"><a style="cursor: pointer;">T: <b style="color:orange">25.2</b>°C
M: AUTO
<br>
V: <b style="color:red">0</b>
B: OK</a></div></td>

Ich habe es auch mit einem einfache StateFormat getest. Auch das ist der gleiche Effekt sichtbar. Kann dieses an einer Einstellung liegen oder ist dieses ein Bug? Ich kann gerne auch weitere Informationen zu den Devices liefern.
CCU2 für die Heizungsteuerung und Fenster/Türkontakte
FHEM auf Debian-Server (x64) für den Rest
HMCCU: Schnittstelle CCU2 - FHEM

zap

Du solltest die Frage im FHEMWEB Unterforum des Frontend Forums stellen. Dort ist die Wahrscheinlichkeit für eine Antwort höher
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Yil

Hi ZAP,

ich kämpfe seit der Umstellung auf Dein Modul mit den langen Reading-Namen, die mir nach dem define und auslesen der Datenpunkte so verpasst werden. Bsp.:

define EZ.Heizung HMCCUDEV NEQ0071936

ergibt u.a. folgendes Reading:

HM-TC-IT-WM-W-EU_NEQ0071936.2.SET_TEMPERATURE

Ich meine mich zu erinnern, dass Du mal was gesagt hast, es sollte hier eine Vereinfachung geben...  ;)

VG Yil
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

bart

mit:
Zitat
ccureadingformat {address[lc] | name[lc] | datapoint[lc]}[
/quote]

Wenn Du
attr DEVICEt ccureadingformat datapoint

setzt dann sieht das Reading so aus:
R-TEMPERATURE_WEDNESDAY_1

Dieses Umstellung hat es mir auch sehr erleichtert.
CCU2 für die Heizungsteuerung und Fenster/Türkontakte
FHEM auf Debian-Server (x64) für den Rest
HMCCU: Schnittstelle CCU2 - FHEM

Yil

Super genial - was mich das schon die ganze Zeit gestört hat ... ;D

Allerdings muss ich jetzt jede Routine überprüfen und - wenn ich schon mal dabei bin - haufenweise geschwätzige Readings löschen.

Danke!!
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

Yil

Gerade aufgetaucht im Log:

PERL WARNING: Use of uninitialized value $ct in string ne at ./FHEM/88_HMCCU.pm line 1682.

Was kann das sein?
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

zap

Zitat von: Yil am 15 November 2016, 21:01:52
Super genial - was mich das schon die ganze Zeit gestört hat ... ;D

Allerdings muss ich jetzt jede Routine überprüfen und - wenn ich schon mal dabei bin - haufenweise geschwätzige Readings löschen.

Danke!!

Einfach für jedes HMCCU* Device den Befehl "set clear" ausführen. Beim Readingformat 'datapoint' werden jedoch noch die Kanalnummern davor gestellt. Das muss zu sein, da Datenpunkte in mehreren Kanälen vorkommen können (zB bei Schaltern mit mehreren Kanälen gibt es STATE mehrfach).
Komplett umbenennen lassen sich Readings mit dem Attribut ccureadingname.

Den Log Fehler schau ich mir an.

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Yil

"set clear" ist definitiv kürzer als deletereading xxx .*  ;)
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi