Neues Modul HMCCU für Homematic CCU

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

Vorheriges Thema - Nächstes Thema

zap

Zitat von: Yil am 24 Januar 2017, 09:04:31
Darf ich da nochmal nachfragen. Problem ist, dass der Wert 1 ein Notify zur Batteriewarnung auslöst - da diese Komponenten keine Batterie haben, stimmt das natürlich nicht.

VG Yil

Den Fall kenne ich auch. Das ist ein Fehler in der CCU oder der Firmware des Gerätes. Du hast 2 Möglichkeiten:

1. mit ccureadingfilter eine  Liste ohne LOWBAT definieren
2. Mit substitute den Wert explizit auf 0 setzen: LOWBAT!(0|1|false|true):0

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

fini

Zitat von: zap am 24 Januar 2017, 12:37:02
Die RPC Schnittstelle der CCU aktualisiert keine Systemvariablen. Am einfachsten in FHEM ein AT Device anlegen und get vars ausführen lassen

und wie genau mach ich dat mit AT Device anlegen und get vars ausführen?

chris1284

das sollte helfen. https://fhem.de/commandref.html#at

ich würde dennoch ein notify auf die änderung von readings am hmccudev des wettermasten legen. hat den vorteil das ich die vars hole wenn sie auch geändert wurden

https://fhem.de/commandref.html#notify

fini

Moin,

ich habe ein neues HM Gerät hinzugefügt.
Jetzt werden die Daten meiner Geräte nicht mehr automatisch aktualisiert.
Nur wenn ich get update ausführe werden die Daten aktualisiert.

Fini

chris1284

mach mal ein list der ccu und ein list des neuen gerätes und poste das mal hier. deine ccu probleme sidn schon "merkwürdig". eine übersicht per list würde da sehr helfen grundlegende konfigurationsfehler/probleme zu beheben (und bei änderung in fhem "save" drücken nciht vergessen  ;) )

fini

Zitat von: chris1284 am 25 Januar 2017, 15:55:38
mach mal ein list der ccu und ein list des neuen gerätes und poste das mal hier. deine ccu probleme sidn schon "merkwürdig". eine übersicht per list würde da sehr helfen grundlegende konfigurationsfehler/probleme zu beheben (und bei änderung in fhem "save" drücken nciht vergessen  ;) )

ich habe fhem neu gestartet und dann ging es wieder.
Aber danke für deine Hilfe!

Fini

zap

wenn man in der CCU ein neues Gerät hinzufügt, muss man in FHEM für das IO Device ein "get devicelist" ausführen, damit FHEM von dem neuen Gerät erfährt.
Beim Neustart von FHEM passiert das automatisch. Vermutlich hat es deshalb wieder funktioniert. Ein get devicelist erspart den Neustart.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

chris1284

Kann es sein das readings mit ccudef-readingname erzeugt keine events generieren die gelogged werden können ? im dblog tauchen alle datapoints auf aber von den per "+" erzeugten readings keines, nur control, state und hmstate. das sollte per default ehr so sein das acuh für battery , desired.temp usw ein event kommt

zap

#1208
Die zusätzlichen Readings werden in der gleichen Schleife aktualisiert wie die anderen. Eigentlich müssten Events kommen. Hast Du event-on Filter gesetzt? Ich habe jetzt mal bei einem Temperatursensor die "event-on-" Attribute gelöscht. Nach einem "get update" für das Device kommen alle Events:


2017-01-26 17:49:52 HMCCUDEV HM_KL_WR_TH activity: alive
2017-01-26 17:49:52 HMCCUDEV HM_KL_WR_TH battery: ok
2017-01-26 17:49:52 HMCCUDEV HM_KL_WR_TH 1.TEMPERATURE: 14
2017-01-26 17:49:52 HMCCUDEV HM_KL_WR_TH 1.DEWPOINT: 5.8
2017-01-26 17:49:52 HMCCUDEV HM_KL_WR_TH 14
2017-01-26 17:49:52 HMCCUDEV HM_KL_WR_TH 1.HUMIDITY: 57
2017-01-26 17:49:52 HMCCUDEV HM_KL_WR_TH hmstate: 14

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

zap

#1209
Neue Version 3.9 verfügbar (Update vermutlich ab morgen)

Neue Funktionen:

Die neuen Funktionen sind diesmal v.a. für Fortgeschrittene Anwender gedacht. Kenntnisse in regulären Ausdrücken sind bei der Anwendung sehr hilfreich.

Das Attribut substitute unterstützt nun Variablen. Variablen können im Zieltext im Format ${name} angegeben werden, wobei name für den Namen eines Datenpunkts steht. Wenn ein Datenpunkt nicht eindeutig ist, kann zusätzlich noch die Kanalnummer mit einem '.' vorangestellt werden. Sonderfall: die Variable ${value} wird durch den Originalwert ersetzt. Beispiel:

# Luftfeuchte als "H: nn %" darstellen
attr mydev substitute HUMIDITY!.*:H: ${value} %

# Mehrere Werte in einem Reading darstellen
attr mydev substitute TEMPERATURE!.*:T: ${value} °C H: ${1.HUMIDITY} %


Die Attribute hmstatevals in HMCCUCHN/HMCCUDEV sowie das Attribut ccudef-hmstatevals in HMCCU erlauben nun eine weitgehend flexible Konfiguration der Ermittlung des HomeMatic Status. Die Syntax ist an das Attribut substitute angelehnt. Die Regeln werden von links nach rechts abgearbeitet. Wenn die erste Regel matched, wird die Verarbeitung abgebrochen. Der Inhalt von ccudef-hmstatevals wird an das lokale Attribut hmstatevals angehängt, ersetzt es also nicht. Wenn keine der Regeln matched, wird der HomeMatic Status auf den Inhalt des Readings 'state' gesetzt. Beispiele:


# hmstate = UNREACH oder LOWBAT
attr mydev hmstatevals UNREACH!(1|true):unreachable;LOW_?BAT!(1|true);warn_battery

# hmstate = UNREACH oder ERROR mit Variablen und Default = Datenpunkt LEVEL
# ERRORs 1-9 werden als "err_n" dargestellt.
attr mydev hmstatevals UNREACH!(1|true):unreachable;ERROR!#1-9:err_${value};.*!.*:${1.LEVEL}

# Reading ändern in homematicState
attr mydev hmstatevals =homematicState;UNREACH!(1|true):unreachable;^FAULT.*!#1-9:fault_${value}

# Werte aus Wetterstation darstellen wenn kein Fehler vorliegt.
attr mydev hmstatevals UNREACH!(1|true):unreachable;ERROR!#1-9:err_${value};(TEMPERATURE|HUMIDITY)!.*:T: ${TEMPERATURE} H: ${HUMIDITY} W: ${WIND_SPEED}

# Wie vorher, aber nur, wenn Temperatur zwischen 10 und 20 Grad
attr mydev hmstatevals UNREACH!(1|true):unreachable;ERROR!#1-9:err_${value};TEMPERATURE!#10-20:T: ${TEMPERATURE} H: ${HUMIDITY} W: ${WIND_SPEED}


Mit dem Attribut ccucalculate kann die Berechnung des Taupunkts veranlasst werden, sofern das Device über Datenpunkte für Temperatur und Luftfeuchte verfügt. Beispiel:


attr mydev ccucalculate dewpoint:Taupunkt:1.TEMPERATURE,1.HUMIDITY


Die Syntax ist also: dewpoint:ReadingName:DatenpunktTemp,DatenpunktHum

Bei HMCUDEV müssen die Datenpunkte mit Kanalnummer angegeben werden. Bei HMCCUCHN nicht. Das Attribut wird ggf. mit weiteren Berechnungsregeln erweitert werden.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

chris1284

#1210
Zitat von: zap am 26 Januar 2017, 18:44:12
kann die Berechnung des Taupunkts

wozu die mühe, gibt doch dewpoint welches auch noch absFeuchte kann?!

hast Du event-on Filter gesetzt?
nichts der gleichen. es verhält sich so bei ALLEN devices vo readings zu den datapoint gekommen sind. die events kommen, aber scheinbar nicht so das sie gelogged werden könnten  :o

EDIT erst wenn ich event-on-update-reading .* auf das device setzte logged es auch die per (+) erstellten readings was aber sicher nicht sinn der sache ist oder?

Zitat2017-01-26 20:05:52 HMCCUDEV az_wt Activity: alive
2017-01-26 20:05:52 HMCCUDEV az_wt 0.STICKY_UNREACH: false
2017-01-26 20:05:52 HMCCUDEV az_wt 0.CONFIG_PENDING: false
2017-01-26 20:05:52 HMCCUDEV az_wt 0.LOWBAT: ok
2017-01-26 20:05:52 HMCCUDEV az_wt battery: ok
2017-01-26 20:05:52 HMCCUDEV az_wt 0.RSSI_DEVICE: 1
2017-01-26 20:05:52 HMCCUDEV az_wt 0.RSSI_PEER: 204
2017-01-26 20:05:52 HMCCUDEV az_wt 0.INHIBIT: unlocked
2017-01-26 20:05:52 HMCCUDEV az_wt 0.DEVICE_IN_BOOTLOADER: false
2017-01-26 20:05:52 HMCCUDEV az_wt 0.UPDATE_PENDING: false
2017-01-26 20:05:52 HMCCUDEV az_wt sign: off
2017-01-26 20:05:52 HMCCUDEV az_wt 1.TEMPERATURE: 16.6
2017-01-26 20:05:52 HMCCUDEV az_wt 1.HUMIDITY: 51
2017-01-26 20:05:52 HMCCUDEV az_wt humidity: 51
2017-01-26 20:05:52 HMCCUDEV az_wt 2.CONTROL_MODE: 0
2017-01-26 20:05:52 HMCCUDEV az_wt controlMode: 0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.LOWBAT_REPORTING: false
2017-01-26 20:05:52 HMCCUDEV az_wt 2.COMMUNICATION_REPORTING: false
2017-01-26 20:05:52 HMCCUDEV az_wt 2.WINDOW_OPEN_REPORTING: false
2017-01-26 20:05:52 HMCCUDEV az_wt 2.BATTERY_STATE: 2.9
2017-01-26 20:05:52 HMCCUDEV az_wt batteryLevel: 2.9
2017-01-26 20:05:52 HMCCUDEV az_wt 2.BOOST_STATE: 0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.ACTUAL_TEMPERATURE: 16.6
2017-01-26 20:05:52 HMCCUDEV az_wt temperature: 16.6
2017-01-26 20:05:52 HMCCUDEV az_wt 2.ACTUAL_HUMIDITY: 51.0
2017-01-26 20:05:52 HMCCUDEV az_wt humidity: 51.0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.SET_TEMPERATURE: 16.0
2017-01-26 20:05:52 HMCCUDEV az_wt desired-temp: 16.0
2017-01-26 20:05:52 HMCCUDEV az_wt control: 16.0
2017-01-26 20:05:52 HMCCUDEV az_wt 16.0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_TEMPERATURE: 5.0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_START_TIME: 0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_START_DAY: 1
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_START_MONTH: 1
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_START_YEAR: 0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_STOP_TIME: 0
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_STOP_DAY: 1
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_STOP_MONTH: 1
2017-01-26 20:05:52 HMCCUDEV az_wt 2.PARTY_STOP_YEAR: 0
2017-01-26 20:05:52 HMCCUDEV az_wt 7.DECISION_VALUE: 0
2017-01-26 20:05:52 HMCCUDEV az_wt hmstate: 16.0
2017-01-26 20:05:52 HMCCUDEV az_wt absFeuchte: 7.2
2017-01-26 20:05:52 HMCCUDEV az_wt dewpoint: 6.4

zap

Die events kommen, werden aber nicht gelogged? Hab ich so noch nie gehabt. Aber lass mich mal noch etwas rumtesten ...

P.S. Dewpoint war schon immer in hmccu drin, da ich das Modul dewpoint nicht kannte. Ist auch nur ein erstes Beispiel für ccucalculate. Damit habe ich noch einiges vor.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

wolfgang99

bisher alles ok mit HMCCU. Habe jetzt geupdatet auf 3.9 und alle meine Thermostate zeigen nicht mehr das bisherige Ergebnis.
Jetzt kommt nur noch:
T: HM-DG-ST-THERMOSTAT.1.TEMPERATURE° H: HM-DG-ST-THERMOSTAT.1.HUMIDITY% D: HM-DG-ST-THERMOSTAT.2.SET_TEMPERATURE° P: n/a° M:HM-DG-ST-THERMOSTAT.2.CONTROL_MODE
Ist ein kurzer Hinweis möglich? Danke!

chris1284

gibt es denn das reading HM-DG-ST-THERMOSTAT.1.TEMPERATURE noch in deinem device oder heist es nun evtl anderst (zb temprature)

zap

Zitat von: wolfgang99 am 27 Januar 2017, 12:32:34
bisher alles ok mit HMCCU. Habe jetzt geupdatet auf 3.9 und alle meine Thermostate zeigen nicht mehr das bisherige Ergebnis.
Jetzt kommt nur noch:
T: HM-DG-ST-THERMOSTAT.1.TEMPERATURE° H: HM-DG-ST-THERMOSTAT.1.HUMIDITY% D: HM-DG-ST-THERMOSTAT.2.SET_TEMPERATURE° P: n/a° M:HM-DG-ST-THERMOSTAT.2.CONTROL_MODE
Ist ein kurzer Hinweis möglich? Danke!

Mit der Version 3.8 wurde das Default Format für Readingnamen von 'name' auf 'datapoint' geändert. Du hast 3 Möglichkeiten:

1. stateformat anpassen und z.B. HM-DG-ST-THERMOSTAT.1.TEMPERATURE durch 1.TEMPERATURE ersetzen
2. im betroffenen Device ccureadingformat auf name setzen
3. im I/O Device ccudef-readingformat auf name setzen (gilt dann für alle Devices, d.h. Verhalten wie vor 3.8)

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