Neues Modul HMCCU für Homematic CCU

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

Vorheriges Thema - Nächstes Thema

Yil

Danke für Eure Rückmeldungen - die Idee mit der Sirene war mein Plan B  ;)
HM CCU2 mit ca. 35 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth
Osram Lightify

Achiim

#571
Dimmer und Tablet UI:

Ich habe einen LED-Dimmer definiert und möchte diesen über Tablet UI mit einem Dimmer Widget steuern. Das scheitert aber momentan.

So ist der Dimmer in FHEM definiert:

define Keller_LED_Bar HMCCUDEV Keller-LED-Bar 1
attr Keller_LED_Bar IODev myHomematicCCU
attr Keller_LED_Bar controldatapoint 1.LEVEL
attr Keller_LED_Bar event-on-change-reading .*
attr Keller_LED_Bar group BeachBar
attr Keller_LED_Bar icon light_led_stripe
attr Keller_LED_Bar room 04_Keller
attr Keller_LED_Bar statechannel 1
attr Keller_LED_Bar statedatapoint 1.LEVEL
attr Keller_LED_Bar statevals on:1.0,off:0.0
attr Keller_LED_Bar stripnumber 1
attr Keller_LED_Bar substitute 1.0:on,0.0:off,1:on,0:off
attr Keller_LED_Bar webCmd control
attr Keller_LED_Bar widgetOverride control:slider,0,0.1,1,1


Und so das Widget in Tablet UI:

<div data-type="dimmer" data-device="Keller_LED_Bar"
data-set="control" data-min="0" data-max="1" data-off="0" data-on="1" class="cell"></div>


Da die Werte vom LED-Dimmer zwischen 0 und 1 liegen, kann ich mit dem Widget nicht "dimmen", da es keine Zwischenwerte gibt. data-step="0.1" wird vom widget nicht unterstützt. data-step kann nur ganzzahlige Werte. Die Werte von "control" sollten dann zwischen 0 und 100 liegen. Wie krieg ich das zusammen?
3x Raspberry PI, 2x DUB-H7, 3x CUL868, 2x CUL433, 1x RFXTRX, 1x Jeelink, Max! 8x Wand- + 14x Heizkörperthermostate + 13x Fensterkontakte, 3x HM Schaltaktoren + Dimmer + Leistungsmessung, 8x HM Rauchmelder, Intertechno, LW12, LED Strip 5050, Foscam, FS20 Dim-Slider FS20DIS, FS20 Bewegungsmelder

zap

In der nächsten Version von HMCCU wird es ein Attribut zum Skalieren von Werten geben.

Einige TabletUI Widgets unterstützen steps < 1, aber eben nicht alle. Bei Widgets, die von knob abgeleitet sind geht es.

Momentan kannst Du das nur über ein anderes Widget lösen.

Die neue Version von HMCCU sollte Ende nächster Woche fertig sein. Wollte zwar noch  ein paar Dinge einbauen und insbesondere die Integration in den FHEM Update Zweig machen, aber das kann ich auch verschieben.
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

Nic0205

Hallo zap,

ich habe gerade meine FHEM Installation aufgeräumt und dann alles neu installiert. Leider funktioniert HMCCU jetzt nicht mehr so wie es soll.

Im Log erscheint immer folgendes:

2016.07.22 20:08:00 1: HMCCU: 500 Can't connect to 192.168.178.101:8181


Das merkwürdige ist, wenn ich die ganzen HMCCU Definitionen manuell eingebe, läuft alles bis zum Neustart.

So sieht meine Definition aus:

define d_ccu HMCCU 192.168.178.101
attr d_ccu ccureadingformat name
attr d_ccu ccureadings 0
attr d_ccu devStateIcon (OK|Initialized):10px-kreis-gruen Error:10px-kreis-rot
attr d_ccu event-on-change-reading .*
attr d_ccu icon rc_HOME
attr d_ccu rpcinterval 5
attr d_ccu rpcport 2001
attr d_ccu rpcserver on


Wie gesagt, nach einem Neustart des Raspi startet fhem gar nicht mehr und es erscheint die obige Log-Meldung.

Hast Du eine Idee, was da schief läuft? Die IP der CCU ist definitiv richtig.

Grüße
Dominic

chris1284

#574
ich muss mal ebend nachfragen:
-wenn ich mir eine ccu2 zulege, habe ich einbußen in der bezug auf fhem und hm?
- aktuell fahre ich ein fhem+ hmlan+ hm-cfg-usb+ maxcune im homematic-mode als i.O und alle ist an die vccu gebunden, devices unterinandere verunden um auch ohne fhem schalten zu können

werden meine erwatungen erfüllt werden können:
- alle devices an ccu2 binden und untereinander für direktes schalten
(bei der ccu 1 wäre noch der vorteil des batteriebetriebes den es bei der 2er nicht mehr gibt)
- die io's würde ich an die ccu2 binden (hmlan und hmusb)
- alle devices in fhem auslesbar, schaltbar und zeitnahe statusänderungen
- betrieb ohne fhem möglich (bis auf evtl. in fhem erzeugte operationen natürlich)
- vorteile da man andere nicht fhem entwicklungen parallel nutzen kann (ccu scripte, erweiterungen usw)
- untertsützung von devices die in fhem nicht gehen wie der rgbw controller

danke !

Nic0205

Hallo zap,

ich habe es die halbe nach langt probiert - ich bekomme es einfach nicht mehr hin :-(

Die Meldung

HMCCU: 500 Can't connect to 192.168.178.101:8181


kommt nach jedem Neustart und zwar immer beim define d_ccu HMCCU 192.168.178.101.

Wenn ich das Define Auskommentiere und danach in fhem per Hand in die Kommandozeile eintrage,
dann funktioniert es einwandfrei ...

Hast Du einen Tip für mich?

zap

@Nico,Chris: kann eure Fragen leider erst Montag beantworten, da momentan unterwegs mit sporadischer Internet Verbindung 
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

Ralli

Vielleicht ist zum Start von fhem das Netzwerk noch nicht fertig.

In /etc/init.d/fhem

die Zeile


# Required-Start:       $local_fs $remote_fs


zu


# Required-Start:       $local_fs $remote_fs $network


verändern.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

Nic0205

Hallo Ralli,

danke - das wars :-)

Vielen vielen Dank.

zap

#579
Zitat von: chris1284 am 22 Juli 2016, 20:38:47
ich muss mal ebend nachfragen:
-wenn ich mir eine ccu2 zulege, habe ich einbußen in der bezug auf fhem und hm?
- aktuell fahre ich ein fhem+ hmlan+ hm-cfg-usb+ maxcune im homematic-mode als i.O und alle ist an die vccu gebunden, devices unterinandere verunden um auch ohne fhem schalten zu können

Wenn Du beides haben möchtest, also CUL_HM und HMCCU: das wurde hier schon mal diskutiert. Ich glaube, Du musst dann sowohl in der CCU2 als auch in FHEM die gleiche HMID verwenden. Das ist aber Theorie. Ich selbst habe das nicht getestet, da ich kein CUL habe.

Zitat
werden meine erwatungen erfüllt werden können:
- alle devices an ccu2 binden und untereinander für direktes schalten

Ja, Geräte, die an der CCU2 angelernt sind, können (sofern sie das unterstützen) direkt miteinander gepairt werden. Dann können Sie auch ohne CCU interagieren.

Zitat
(bei der ccu 1 wäre noch der vorteil des batteriebetriebes den es bei der 2er nicht mehr gibt)

Ich würde die 2er nehmen. Dann hast Du auch gleich Unterstützung für Homematic IP.

Zitat
- die io's würde ich an die ccu2 binden (hmlan und hmusb)

Wie Du das machen willst, ist mir nicht klar. Es funktioniert so: HMCCU ist das IO Device, das die Kommunikation mit der CCU2 erledigt. hmlan und hmusb brauchst Du nicht mehr. Das Anlernen an die CCU2 sowie das Pairen der Geräte untereinander wird alles in der CCU2 erledigt.

Zitat
- alle devices in fhem auslesbar, schaltbar und zeitnahe statusänderungen
- betrieb ohne fhem möglich (bis auf evtl. in fhem erzeugte operationen natürlich)
- vorteile da man andere nicht fhem entwicklungen parallel nutzen kann (ccu scripte, erweiterungen usw)
- untertsützung von devices die in fhem nicht gehen wie der rgbw controller

Mit HMCCU uneingeschränkt ja.

Aber HMCCU ist NICHT kompatibel mit VCCU!!

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

chris1284

bezüglich hmlan und hmusb: an die ccu1 konnte man diese als weitere io-devices anbinden um die ccu-reichweite zu erhöhen, ich denke das geht zu mindest mit dem hmlan auch bei der 2er. zur fhemseite hat man dann natürlich nur die ccu2 als io. vccu brauch ich dann net mehr und den cube als 2. hmlan auch nicht da diecu2 einen teil abdecken würde und der hmlan einen anderen. den hm-cfg-usb würd ich in fhem / zum spielen nutzen.

Danke dir!

Nic0205

Hallo zap,

jetzt muss ich doch noch einmal stören :-(

Ich habe im Log folgenden Eintrag wenn ich bei einem Fensterkontakt  "get Arbeitszimmer_Fenster update" ausführen:

2016.07.25 20:27:03 1: HMCCUCHN: Arbeitszimmer_Fenster No readable datapoints found

Der Status ist dann "error".

Das merkwürdige ist, dass ein genauso definierter Fensterkontakt mir den korrekten Status liefert.

Ein get Arbeitszimmer_Fenster devstate bringt mir dann den aktuellen Status, aber keine Datenpunkte für LOWBAT und ERROR.

So ist der der TFK definiert:

define Arbeitszimmer_Fenster HMCCUCHN LEQ0501605:1 readonly
attr Arbeitszimmer_Fenster IODev d_ccu
attr Arbeitszimmer_Fenster ccureadingfilter (ERROR|LOWBAT|STATE)
attr Arbeitszimmer_Fenster devStateIcon closed:10px-kreis-gruen open:10px-kreis-rot
attr Arbeitszimmer_Fenster event-on-change-reading .*


Hast Du noch einen Tip für mich?

Gruß
Nic

zap

#582
Dass get devstate funktioniert, aber get update nicht ... möglich. Bei get devstate wird einfach dumpf der Datenpunkt STATE abgefragt. Bei get update prüft HMCCU, ob es lesbare Datenpunkte gibt (es gibt tatsächlich Datenpunkte, in die man nur schreiben kann oder die sogar nur Events produzieren).

Jedenfalls müsste get update die 3 Datenpunkte finden. Prüfen kannst Du das, indem Du folgenden Befehl ausführst


get d_ccu deviceinfo LEQ0501605


Das gibt Dir alle Kanäle und Datenpunkte aus inklusive der Flags (bei STATE, ERROR und LOWBAT sollten das [RE] für Read und Event sein.

So und jetzt wird es kompliziert. Schau Dir mal von Deinem Device das Internal ccutype an. Hier findest Du den Gerätetyp (z.B. HM-Sec-SCo). Nun führst Du den Befehl "list d_ccu" aus.

In der folgenden rechte langen Ausgabe suchst Du den oben gefundenen Gerätetyp, also z.B. HM-Sec-SCo. In meinem Fall sieht das wie unten aus. Wichtig ist, dass unter Ch: 1: bei Error, Lowbat und State hinter oper jeweils eine 5 steht.


Hm-sec-sco:
         Ch:
           0:
             Aes_key:
               oper       1
               type       8
             Config_pending:
               oper       5
               type       2
             Device_in_bootloader:
               oper       5
               type       2
             Lowbat:
               oper       5
               type       2
             Rssi_device:
               oper       5
               type       8
             Rssi_peer:
               oper       5
               type       8
             Sticky_unreach:
               oper       7
               type       2
             Unreach:
               oper       5
               type       2
             Update_pending:
               oper       5
               type       2
           1:
             Error:
               oper       5
               type       16
             Install_test:
               oper       4
               type       2
             Lowbat:
               oper       5
               type       2
             State:
               oper       5
               type       2


Falls Du das nicht findest, führe einmal den Befehl "get d_ccu devicelist" aus, um die Geräte neu aus der CCU abzufragen.
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

Nic0205

Hi,

get device info liefert alle drei Datenpunkte.

list d_ccu liefert:

Hm-sec-sc-2:
         Ch:
           0:
             Aes_key:
               oper       1
               type       8
             Config_pending:
               oper       5
               type       2
             Lowbat:
               oper       5
               type       2
             Rssi_device:
               oper       5
               type       8
             Rssi_peer:
               oper       5
               type       8
             Sticky_unreach:
               oper       7
               type       2
             Unreach:
               oper       5
               type       2
           1:
             Error:
               oper       5
               type       16
             Install_test:
               oper       4
               type       2
             Lowbat:
               oper       5
               type       2
             State:
               oper       5
               type       2


get Arbeitszimmer_Fenster update liefert leider immer noch "no readable datapoints found"

zap

Hast Du mehrere Fensterkontakte und tritt das Problem bei allen auf ?

Hast Du mal ein "get d_ccu devicelist" ausgeführt und danach nochmal das "get xxxx update" versucht ?

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