HMCCU Beispiel Geräte-Definitionen

Begonnen von zap, 25 März 2016, 16:08:13

Vorheriges Thema - Nächstes Thema

Kai-Alfonso

Hat jemand eine HMIP-PSM mal zum laufen bekommen? Was muss ich da definieren? Komm da irgendwie nicht weiter :-(
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

zap

Beispiel für eine Homematic IP Schaltsteckdose mit Energiemessung (HMIP-PSM)


define ST_Test HMCCUDEV ST-CCU-Name
attr ST_Test ccureadingfilter (STATE|CURRENT|POWER|^ENERGY_COUNTER)
attr ST_Test statechannel 3
attr ST_Test statevals on:1,off:0
attr ST_Test substitute STATE!true:on,false:off,1:on,0:off
attr ST_Test stripnumber 1
attr ST_Test event-on-change-reading .*


Achtung! HM-IP. Für automatische Aktualisierung muss im IO Device im Attribut rpcport der Port 2010 ergänzt werden. Danach den RPC-Server stoppen und wieder starten.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Kai-Alfonso

Ach cool - vielen Dank. So funktioniert das auch    8)
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

xxxONURISxxx

Hier mal noch meine Konfiguration für den Fensterkontakt HM-Sec-RHS. (abgewandelt von HM-Sec-SC)


# Fensterkontakt Arbeitszimmer
define AZ_Fenster_links HMCCUCHN AZ-FS-LI:1 readonly

# Uns interessieren nur einige Datenpunkte
attr AZ_Fenster_links ccureadingfilter (ERROR|LOWBAT|STATE)

# Zeigt einen grünen/gelben/roten Punkt an
attr AZ_Fenster_links devStateIcon closed:10px-kreis-gruen tilted:10px-kreis-gelb open:10px-kreis-rot
attr AZ_Fenster_links event-on-change-reading .*

# Werte der CCU in den Readings ersetzen
attr AZ_Fenster_links substitute STATE!(0|false):closed,(1|true):tilted,(2|true):open;;LOWBAT!(0|false):no,(1|true):yes

tuppertasse

Zitat von: Yil am 23 Juni 2016, 07:59:05
Beispiel einer Definition eines Temperatur-Devices:

Habe jetzt dieses beispiel gefunden und wende es auf das HM-Gerät HM-WDS10-TH-O an.
Funktioniert alles super aber das Stateformat wird nicht gesetzt mit dem dewpoint. Ergebnis sieht so aus:

T: 15.2° H: 82% D: dewpoint°

:o why ?

chris1284

dewpoint ist kein standardreading. dewpoint musst du erst definieren und auf die hmccu-readingsanpassen da diese nicht den standardreadings entsprechen so das es out-of box gehen würde (noch nicht, zap arbeitet ja bereits an einer neuen version) http://fhem.de/commandref.html#dewpoint

tuppertasse

Also ich hab es versucht zu definieren wie in der commandref beschrieben. Aber das geht gar nicht. Mag sein, dass ich nur den rpcserver laufen habe und kein CUL definiert habe ?

Dann habe ich den dewpoint, wie im Beitragsbeispiel dargestellt (siehe Antwort #5 dieses Beitrages), auch versucht. leider auch ohne Erfolg. irgendwo habe ich bestimmt einen gedankenfehler :-(

Versucht habe ich:


define TaupunktInnen dewpoint dewpoint d_Test d_Test.1.TEMPERATURE d_Test.1.HUMIDITY dewpoint

define TaupunktInnen dewpoint dewpoint d_Test d_TEST:Temp_Feuchte_Aussen.1.TEMPERATURE d_TEST:Temp_Feuchte_Aussen.1.HUMIDITY dewpoint

define TaupunktInnen dewpoint dewpoint d_Test Temp_Feuchte_Aussen.1.TEMPERATURE Temp_Feuchte_Aussen.1.HUMIDITY dewpoint

:o :o :o

chris1284

#22
den rpc jedes mal als möglich grund aufzuführen weil du keinen cul hast ist überflüssig, da hat das eine eh nichts mit dem anderen zu tun....

du musst dewpoint nicht für jedes device definieren. einmal für devices mit standard readings (humidity/temprature) wenn du sowas hast

define depoint_std dewpoint dewpoint .*

und für hmccu devices mit den noch nicht so konformen readings

define depoint_hmccu dewpoint dewpoint .*  .*.TEMPERATURE  .*.HUMIDITY


das erste .* hesit für alle devicenamen
.*.TEMPERATURE um zu sagen nimm alle reading die irgendwas vorne haben (wie zb den devicenamen+ channel) und ein TEMPERATURE   folgt als temperatur reading
.*.HUMIDITY um zu sagen nimm alle reading die irgendwas vorne haben (wie zb den devicenamen+ channel) und ein HUMIDITY folgt als luftfeuchte reading


ungetestet, habe kein temp/hum an hmccu


zap

Zitat von: tuppertasse am 01 September 2016, 08:24:25
Habe jetzt dieses beispiel gefunden und wende es auf das HM-Gerät HM-WDS10-TH-O an.
Funktioniert alles super aber das Stateformat wird nicht gesetzt mit dem dewpoint. Ergebnis sieht so aus:

T: 15.2° H: 82% D: dewpoint°

:o why ?

HMCCU enthält eine Funktion zur Berechnung des Taupunkts. Die kannst Du in einem userreading verwenden. Beispiel:


attr xyz userReadings DEWPOINT {HMCCU_Dewpoint($name,"KL-GZ-TH.1.TEMPERATURE", "KL-GZ-TH.1.HUMIDITY","n/a")}


Du musst nur die Readings für Temperatur und Luftfeuchte austauschen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

tuppertasse

So, nun habe ich es.
Allerdings wurde NICHT automatisch das reading dewpoint angelegt. Ich musste erst einmal manuell einfach irgendeine Zahl eintippern und schwups war sie dann sofort mit der richtigen Feuchte drin......komisch....das war wohl die ganze zeit das Problem

tuppertasse

So, nun will ichs aber wissen :-)
Auf meinem Testsystem habe ich nun ein HM-Gerät zum experimentieren. Das läuft auch soweit ganz wenn man die Funktionalitäten erkennt :-)
Nun habe ich das angelegte Gerät natürlich direkt immer abgesprochen genau so wie es auch heisst.
Nun möchte ich natürlich später, dass die anderen HM-Geräte zumindest gleichen Typs oder gleichen Readings in die einzelnen Rubriken reingeschoben werden.
Als Beispiel dafür habe ich den Batteriestatus der Geräte mal genommen. Dazu habe ich unter ReadingsGroup den Status angelegt --> wie definiere ich das nun für alle - ist das da richtig?


####Für ein explizites Gerät
<Bezeichnung>,<Status>,<Zeit> Temp_Feuchte_Aussen.0.LOWBAT

####Für sämtliche Geräte mit Reading LOWBAT
<Bezeichnung>,<Status>,<Zeit> *:*.LOWBAT

zap

Ich habe noch nicht genau verstanden, was Du vorhast. Sollen z.B. alle LOWBATs in einer Readinggroup auftauchen?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

tuppertasse

Zitat von: zap am 01 September 2016, 20:03:26
Ich habe noch nicht genau verstanden, was Du vorhast. Sollen z.B. alle LOWBATs in einer Readinggroup auftauchen?

Volltreffer !!!

zap

Sowas ähnliches wollte ich auch mal machen. Allerdings in erweiterter Form, d.h. die Werte sollten logisch verknüpft (im Fall von LOWBAT "oder") werden. Die Readinggroup sollte signalisieren, wenn mindestens 1 Device LOWBAT meldet. Analog dazu mit offenen Türen Fenstern.

Habe ich mit readinggroup nicht hin bekommen und mir daher in myUtils eine Perl-Funktion dafür gebaut.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

cho

Hallo zap,
das hört sich interessant an. Magst Du Deine Lösung hier posten?

Danke und Grüße Christian