Neues Modul HMCCU für Homematic CCU

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

Vorheriges Thema - Nächstes Thema

zap

Siehe ein paar Beiträge weiter oben, die 4.0.003 hatte enen Bug. Die 004 gibt es morgen per update oder eben sofort per SVN download
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

Hans-Ulrich Tag

Wie komme ich an das Update? Tante Google war nicht sehr ergiebig.
Bei mir läuft FHEM nämlich auch nicht mehr.

zap

Entweder Du machst ein recover, startest danach FHEM und machst ein reguläres update.

Oder Du gehst auf die Seite https://svn.fhem.de/trac/browser/trunk/fhem/FHEM

Dort suchst Du den Eintrag 88_HMCCU.pm und lädtst die Datei per Klick auf das Pfeil nach unten Symbol herunter.
Die heruntergeladene Datei kopierst Du in das Verzeichnis /opt/fhem/FHEM/.

Danach sollte FHEM 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

Hans-Ulrich Tag

Vielen Dank für die schnelle Hilfe!
Der Download hat zwar geklappt, aber der Fehler ist geblieben.
Habe dann eine ältere Version aus einem Backup genommen und mit dieser funktioniert es jetzt erst mal wieder.
Mal schauen, ob nach dem Update heute Nacht noch alles klappt.

zap

Das muss funktionieren. Ich habe das schon gestern eingecheckt. Das ist heute im Update drin.
Bei anderen Nutzern hat es funktioniert. Vielleicht hast Du beim Download oder der Installation einen Fehler gemacht.
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

bart

Mit dem Update heute hat es zumindest bei mir geklappt.

  • gestern nach den Fehler habe ich fhem aus dem backup wiederhergestellt
  • heute erneut ein update und restart
  • alle läuft aktuell wie gewohnt und ich habe viele meiner Funktionen einem Test unterzogen

ein backup kann ich nur empfehlen und ich habe auch in global

backup_before_update = 1

gesetzt damit ich immer ein zusätzliches backup bei einem update habe.
CCU2 für die Heizungsteuerung und Fenster/Türkontakte
FHEM auf Debian-Server (x64) für den Rest
HMCCU: Schnittstelle CCU2 - FHEM

Ralli

Hallo zap,

du hast ja die Funktion get dutycycle eingebaut. Damit fragst du die Schnittstellen bzw. Gateways ab und speicherst die Werte in Readings.

Wenn ich das auf meinem Testsystem manuell anstoße, bekomme ich die Rückmeldung, dass 7 Werte eingelesen worden seien. In den Readings erscheinen die folgenden Einträge:


duty_cycle_ccu2 1 2017-05-10 11:19:16
duty_cycle_hmip_ccu2 1 2017-05-10 11:19:16
duty_cycle_hmlgw2 4 2017-05-10 11:19:16
duty_cycle_lan_interface 0 2017-05-10 11:19:16


Tatsächlich verfügt meine CCU neben den eigenen Gateways für BidCoS-RF und HmIP jedoch über weitere folgende Gateways:


HMLAN1
HMLAN2
HMUSB1
HM-LAN-GW1
HM-LAN-GW2
RS485


Mache ich eine RPC-Aufruf von listBidcosInterfaces, erhalte ich folgendes Array:


0  'ADDRESS' => 'LEQ1234567', 'CONNECTED' => 0, 'DEFAULT' => 0, 'DESCRIPTION' => '', 'DUTY_CYCLE' => 0, 'FIRMWARE_VERSION' => '', 'TYPE' => 'Lan Interface'
1  'ADDRESS' => 'LEQ2345678', 'CONNECTED' => 1, 'DEFAULT' => 0, 'DESCRIPTION' => '', 'DUTY_CYCLE' => 0, 'FIRMWARE_VERSION' => 965, 'TYPE' => 'Lan Interface'
2  'ADDRESS' => 'LEQ3456789', 'CONNECTED' => 1, 'DEFAULT' => 0, 'DESCRIPTION' => '', 'DUTY_CYCLE' => 0, 'FIRMWARE_VERSION' => 967, 'TYPE' => 'Lan Interface'
3  'ADDRESS' => 'MEQ4567890', 'CONNECTED' => 1, 'DEFAULT' => 0, 'DESCRIPTION' => '', 'DUTY_CYCLE' => 4, 'FIRMWARE_VERSION' => '1.4.1', 'TYPE' => 'HMLGW2'
4  'ADDRESS' => 'MEQ5678901', 'CONNECTED' => 1, 'DEFAULT' => 1, 'DESCRIPTION' => 'CCU2-Coprocessor', 'DUTY_CYCLE' => 1, 'FIRMWARE_VERSION' => '2.8.3', 'TYPE' => 'CCU2'
5  'ADDRESS' => 'NEQ6789012', 'CONNECTED' => 1, 'DEFAULT' => 0, 'DESCRIPTION' => '', 'DUTY_CYCLE' => 4, 'FIRMWARE_VERSION' => '1.4.1', 'TYPE' => 'HMLGW2'


Erkennst du in der von dir verwendeten Methode einen Fehler?

Des weiteren schlage ich vor, auch die übrigen Informationen mit einzubauen, insbesondere den Connect-Status. Durch entsprechendes event-on-change-reading kann man auf einen Ausfall von einem Gateway triggern, wenn man periodisch das get dutycycle durchführt.
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

zap

#1417
Ich vermute, dass ich etwas schlampig war, was die Generierung der Readingnamen angeht. Vermutlich landen mehrere Werte im gleichen Reading. Werde es mir anschauen.

Außerdem muss man die Abfrage für alle Ports ausführen, die einen Duty Cycle haben, also für BidCos und HMIP.
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

redstar2003

Hallo zusammen,

ich habe eine Frage zu dem genannten Modul. Ist es damit auch möglich Geräte (z.B. Rolladen) die in FHEM eingebunden sind, auch per CCU2 anzusprechen ? Wenn ja, wie funktioniert das ? Ich habe leider keine Informationen dazu gefunden (oder ich bin einfach blind :)).

Vielen Dank!

zap

#1419
Zitat von: redstar2003 am 11 Mai 2017, 14:14:12
ich habe eine Frage zu dem genannten Modul. Ist es damit auch möglich Geräte (z.B. Rolladen) die in FHEM eingebunden sind, auch per CCU2 anzusprechen ? Wenn ja, wie funktioniert das ? Ich habe leider keine Informationen dazu gefunden (oder ich bin einfach blind

Nein, das geht nicht. Das Modul ermöglicht den umgekehrten Weg: Geräte (u.a. Rollläden), die in die CCU eingebunden sind, können von FHEM aus gesteuert werden.

Allerdings ist das Steuern von FHEM Geräten aus der CCU heraus jetzt nicht so schwer. Alles was es braucht ist ein Shell-Script auf der CCU, das einen Befehl auf den Telnet Port von FHEM schickt (z.B. mit netcat). Dieses Script kann man aus der CCU z.B. mit einem CUxD Exec Device ausführen. Nicht schön, aber funktioniert.
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

Skjall

Moin zusammen,

ich habe ein etwas seltsames Problem:
Das Modul läuft tadellos, dann, irgendwann bekomme ich keine readings mehr. Im fhem log sehe ich nichts, nur einige Minuten nach dem letzten Reading das:

2017.05.12 03:08:00 2: HMCCU: Received no events from CCU since 300 seconds

Ich muss dann den RPC im Modul stoppen und wieder starten und dann geht es wieder.

##------------------------------------------------------------------------------
## Connector_CCU2
##------------------------------------------------------------------------------
define Connector_CCU2 HMCCU 10.2.12.51
attr Connector_CCU2 ccudef-readingfilter ^(LOW_?BAT|UNREACH)$
attr Connector_CCU2 ccudef-readingformat datapoint
attr Connector_CCU2 ccudef-readingname ^(.+\.)?AES_KEY$:sign;;^(.+\.)?LOW_?BAT$:battery;;^(.+\.)?BATTERY_STATE$:batteryLevel;;^(.+\.)?UNREACH$:Activity;;^(.+\.)?TEMPERATURE$:+temperature;;^(.+\.)?SET_TEMPERATURE$:+desired-temp;;^(.+\.)?HUMIDITY$:+humidity;;^(.+\.)?LEVEL$:+pct;;^(.+\.)?CONTROL_MODE$:+controlMode
attr Connector_CCU2 ccudef-substitute AES_KEY!(0|false):off,(1|true):on;;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;;UNREACH!(0|false):alive,(1|true):dead;;MOTION!(0|false):noMotion,(1|true):motion;;DIRECTION!0:stop,1:up,2:down,3:undefined;;WORKING!0:false,1:true;;INHIBIT!(0|false):unlocked,(1|true):locked
attr Connector_CCU2 devStateIcon running.*:rc_GREEN (starting|stopping).*:rc_YELLOW (stopped|[I|i]nitialized).*:rc_RED
attr Connector_CCU2 icon hm_ccu
attr Connector_CCU2 room 9.6.2_Connectoren
attr Connector_CCU2 rpcinterfaces BidCos-RF
attr Connector_CCU2 rpcinterval 5
attr Connector_CCU2 rpcport 2001
attr Connector_CCU2 rpcqueue /tmp/ccuqueue
attr Connector_CCU2 rpcserver on
attr Connector_CCU2 stateFormat rpcstate/state


Die /tmp/ccuqueue_2001_1.dat ist leer, die /tmp/ccuqueue_2001_1.idx enthält nur eine 0.

Ideen?   :D

VG Jan

zap

#1421
Schau mal auf der CCU in der Datei /var/log/messages nach, wenn das Problem auftritt, ob da irgendwelche Fehlermeldungen drin stehen. Diese Datei kann man auch über das CCU WebUI unter Eintellungen / Systemsteuerung runter laden.

Ansonsten kannst Du es ja mal mit dem externen RPC Server HMCCURPC versuchen. Ist deutlich performanter als die File Queue Geschichte. Vor der Verwendung darauf achten, dass die benötigten Perl Module installiert sind.

Zuerst solltest Du aber mal auf CCU Seite nachschauen. Wenn das Problem dort liegt, hilft Dir auch HMCCURPC nicht.

Hier noch der Link zur HMCCURPC Ankündigung:
https://forum.fhem.de/index.php/topic,69480.0.html

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

#1422
Zitat von: zap am 10 Mai 2017, 12:20:13
Ich vermute, dass ich etwas schlampig war, was die Generierung der Readingnamen angeht. Vermutlich landen mehrere Werte im gleichen Reading. Werde es mir anschauen.

Ich würde die Zeile


my $type = exists ($iface->{TYPE}) ? $iface->{TYPE} : $HMCCU_RPC_NUMPORT{$port};


durch


my $type = exists ($iface->{TYPE}) ? $iface->{TYPE}_$iface->{ADDRESS} : $HMCCU_RPC_NUMPORT{$port};


ersetzen. Damit wird eine Eindeutigkeit erreicht.

Und für den Connect-Status würde ich noch folgende Zeilen einbauen:


my $connect = exists ($iface->{CONNECTED}) ? $iface->{CONNECTED} : "???"};
$rn = HMCCU_CorrectName ("connect_status_$type");
readingsBulkUpdate ($hash, lc($rn), $connect);
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

zap

Ja, die letzte Aktion auf meinem Macbook (R.I.P.) war, die Readingnamen durch eine Nummerierung unique zu machen. Außerdem gibt es jetzt mehrere Readings je interface (für type, connect state, ...)

Nur das Einchecken habe ich nicht mehr geschafft. Mal sehen, bin auf der Suche nach einem Workaround bis ich ein Ersatzgerät habe.
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

Zitat von: zap am 12 Mai 2017, 08:47:52
Ja, die letzte Aktion auf meinem Macbook (R.I.P.) war, ...
Mein Beileid :-\

Danke, dass du die Vorschläge annimmst.
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