Neues Modul HMCCU für Homematic CCU

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

Vorheriges Thema - Nächstes Thema

zap

Zitat von: cho am 29 März 2016, 19:30:34
Ich habe gerade auch noch einmal nachgesehen. Ich habe Dein letztes Update 3.1 mit der 88_HMCCU.pm mit der Zeile "no if..." laufen. Sind die Warnungen eigentlich problematisch?
Nein, kein Problem. Sind nur Warnungen. Dann ersetzte ich mal "~~" durch "grep" in der nächsten Version. Dann ist das erledigt.

Zitat
Die Datei "xmlrpc" ist standardmäßig auf der CCU vorhanden. Ich weiß dazu auch nur, dass auf der CCU2 für Gruppen ein eigener XML-RPC-Server mit der Adresse http://127.0.0.1:9292/groups läuft. Die Info findet man in verschieden Foren Beiträgen, z.B. hier:

Vielen Dank für den Hinweis.

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

tuppertasse

Hallo,
nachdem ich mich entschieden habe meine Anforderungen über HMCCU einzupflegen habe ich begonnen das Modul zu installieren. Klappte soweit auh ganz gut allerdings bekomme ich es nicht gestartet. Wahrscheinlich habe ich doch irgendetwas überlesen :-(
Die Fehler im Log lauten - was hab ich verbockt ? (ich hoffe ist okay hier die Frage zu stellen):

2016.03.30 13:37:08 1: Including fhem.cfg
2016.03.30 13:37:08 1: reload: Error:Modul 88_HMCCU deactivated:
Can't modify constant item in predecrement (--) at ./FHEM/88_HMCCU.pm line 2, near "Server:"
syntax error at ./FHEM/88_HMCCU.pm line 2, near "Server:"
syntax error at ./FHEM/88_HMCCU.pm line 4317, near ">)"
syntax error at ./FHEM/88_HMCCU.pm line 4318, near "/div><div id="l438" class="code_block"> <span class="p">}</span"
syntax error at ./FHEM/88_HMCCU.pm line 4320, near ""l440" class"
syntax error at ./FHEM/88_HMCCU.pm line 4322, near ">)"
syntax error at ./FHEM/88_HMCCU.pm line 4325, near "</div"
syntax error at ./FHEM/88_HMCCU.pm line 4326, near ""l446" class"
syntax error at ./FHEM/88_HMCCU.pm line 4326, near ">)"
Unmatched right curly bracket at ./FHEM/88_HMCCU.pm line 4328, at end of line
./FHEM/88_HMCCU.pm has too many errors.

2016.03.30 13:37:08 0: Can't modify constant item in predecrement (--) at ./FHEM/88_HMCCU.pm line 2, near "Server:"
syntax error at ./FHEM/88_HMCCU.pm line 2, near "Server:"
syntax error at ./FHEM/88_HMCCU.pm line 4317, near ">)"
syntax error at ./FHEM/88_HMCCU.pm line 4318, near "/div><div id="l438" class="code_block"> <span class="p">}</span"
syntax error at ./FHEM/88_HMCCU.pm line 4320, near ""l440" class"
syntax error at ./FHEM/88_HMCCU.pm line 4322, near ">)"
syntax error at ./FHEM/88_HMCCU.pm line 4325, near "</div"
syntax error at ./FHEM/88_HMCCU.pm line 4326, near ""l446" class"
syntax error at ./FHEM/88_HMCCU.pm line 4326, near ">)"
Unmatched right curly bracket at ./FHEM/88_HMCCU.pm line 4328, at end of line
./FHEM/88_HMCCU.pm has too many errors.

2016.03.30 13:37:08 1: Including /opt/fhem/FHEM/dsHutAktorM1.cfg
2016.03.30 13:37:08 1: Including /opt/fhem/FHEM/dsTeich.cfg
2016.03.30 13:37:08 1: Including /opt/fhem/FHEM/dsH20detect.cfg
2016.03.30 13:37:08 1: Including /media/usbhdd/FHEM/FHEM_Statefile/fhem.save
2016.03.30 13:37:16 1: PERL WARNING: Use of uninitialized value $val in substitution (s///) at fhem.pl line 1483.
2016.03.30 13:37:16 1: PERL WARNING: Use of uninitialized value $val in substitution (s///) at fhem.pl line 1484.
2016.03.30 13:37:16 1: PERL WARNING: Use of uninitialized value $val in concatenation (.) or string at fhem.pl line 1485.

zap

Ich vermute, da ist beim Download von Sourceforge etwas schief gegangen. In Sourceforge die Datei anzeigen lassen und dann "Download this file" klicken.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tuppertasse

Jo scheint so. Hab sie runtergalden und nun hab ich anderen Fehler (ich habe aber alle cpan Module installiert wie in der Anleitung):

2016.03.30 15:34:57 1: reload: Error:Modul 88_HMCCU deactivated:
Can't locate RPC/XML/Client.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/88_HMCCU.pm line 72, <$fh> line 32.
BEGIN failed--compilation aborted at ./FHEM/88_HMCCU.pm line 72, <$fh> line 32.

2016.03.30 15:34:57 0: Can't locate RPC/XML/Client.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/88_HMCCU.pm line 72, <$fh> line 32.
BEGIN failed--compilation aborted at ./FHEM/88_HMCCU.pm line 72, <$fh> line 32.

2016.03.30 15:34:58 1: Including /opt/fhem/FHEM/dsHutAktorM1.cfg
2016.03.30 15:34:58 1: Including /opt/fhem/FHEM/dsTeich.cfg
2016.03.30 15:34:59 1: Including /opt/fhem/FHEM/dsH20detect.cfg
2016.03.30 15:34:59 1: Including /media/usbhdd/FHEM/FHEM_Statefile/fhem.save
2016.03.30 15:34:59 1: configfile: Cannot load module HMCCU
FunkSchaltaktor_Leistung: unknown IODev specified

zap

RPC::XML::Client ist nicht installiert (ggf. auch der Rest von RPC).
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tuppertasse

#335
Ja da magst du wohl recht haben. Die Logs besagen mir, dass bei der Installation von den CPAN Modulen was schief läuft. Fehlermeldungen ala "cannot find tar file". Irgendwas kollidiert da grad gewaltig.


Using Tar:/bin/tar xf "libwww-perl-6.15.tar":
Couldn't untar libwww-perl-6.15.tar: 'Cannot allocate memory'
  ETHER/libwww-perl-6.15.tar.gz
  Had problems unarchiving. Please build manually

zap

Die Meldung "cannot allocate memory" liest sich nicht gut.

Entweder der Speicher ist aus oder ein Filesystem ist voll. Das tar braucht jedenfalls irgendwo temporären Platz um was auszupacken.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tuppertasse

Yep sehe ich genauso :-( Da hab ich wohl momentan zu viele "Testsysteme" laufen :-( Speicher voll ? Filesystem hat noch genug

Kann man da noch was frei schaufeln ?

zap

#338
Dass das physikalische Memory fast voll ist, heißt bei Unix gar nichts. Swap ist auch noch genügend vorhanden. Sieht bei mir auf dem Raspi auch nicht anders aus. Aber Du kannst für die Dauer der Installation mal ein paar Dinge stoppen.
Oder Du schaust mal, ob Du ein Linux Paket für RPC findest. Lässt sich vielleicht einfacher installieren.

Das könnte passen: librpc-xml-perl
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tuppertasse

Uh, das ist ein guter Hinweis .... bin ich gar nicht selbst drauf gekommen. Werde es morgen ausprobieren --> heute habe ich anscheinend schon eckige Augen :-)
DANKE zap !
Ich werde berichten

tuppertasse

Guten Morgen!
hat natürlich geklappt ! Nun sind alle Module installiert.

Beim ersten define liest er ja nun alle Geräte ein und anscheinend stockt er bei einem:

FunkSchaltaktor_Leistung: unknown IODev specified


kennt er den nicht oder was sagt mir das ?

zap

Du musst zuerst das IO Device definieren:

define my_ccu HMCCU host_or_ip

Die Liste der Geräte wird nur bei der Definition des IO Device eingelesen.

Wenn das passiert ist, kannst du mit den Modulen HMCCUDEV und HMCCUCHN die Devices für die einzelnen Homematic Komponenten anlegen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tuppertasse

#342
Okay, hab auch jetzt einen Beitrag gelesen wo die "attr" drin sind.

Da ich ein bestehendes System habe mit ca. 30 Aktoren muss ich die alle erstmal über HMCCUDEV und HMCCUCHN definieren ?

Den rpcserver bekomme ich erstmal nicht gestartet da läuft er auf den fehler --> please define rpcserver first. Owohl im log steht:
2016.03.31 09:36:43 0: Server started with 173 defined entities (fhem.pl:11144/2016-03-29 perl:5.014002 os:linux user:fhem pid:21877)
2016.03.31 09:37:53 0: HMCCU: RPC server not running


die Definition lautet:
# IO Device definieren
define d_HMCCU2 HMCCU 192.168.40.xxx
attr d_HMCCU2 ccureadings 1
attr d_HMCCU2 room 90_System
attr d_HMCCU2 rpcserver on


UPDATE 10:40:
rpcserver läuft erstmal --> datei war nicht ausführbar gemacht von mir. Ich teste weiter !

zap

In der aktuellen Version wird der RPC-Server nicht mehr direkt nach Ausführung von "attr rpcserver on" gestartet. Dieses Attribut sorgt nur noch dafür, dass der RPC-Server beim Starten von FHEM automatisch gestartet wird.

Manuell kann der RPC-Server mit dem Befehl "set rpcserver on" (im IO Device) gestartet werden.

Und ja: Du musst für alle Geräte, die Du per FHEM ansprechen willst, ein Device mit HMCCUDEV oder HMCCUCHN definieren.

Schau Dir mal die HMCCU_Readme.txt an (ist im 1. Beitrag verlinkt). Die ist zwar nicht brandaktuelle (z.B. Starten des RPC Servers ist noch nicht aktualisiert), aber grundsätzlich ein guter Einstieg (hoffe ich).

Auf autocreate von Devices habe ich bewusst verzichtet. Viele Nutzer haben eine sehr große Homematic Umgebung (ich z.B. ;-). Da wollte ich nicht unkontrolliert Devices in FHEM anlegen lassen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tuppertasse

Ja, das habe ich auch festgestellt dass der rpc-server nicht automatisch startet --> steht ja auch in der Readme so, allerdings wusste ich nicht genau wie ich den starte. Dann hab ichs gelesen --> in fhem manuell starten oder in die "Oberfläche" von HMCCU und dann dort über die Vorauswahlen konfigurieren und bestätigen!

Es gibt also kein Autocreate wie es zB bei der HM_CUL gemacht wurde ?
Mhhh okay verstehe ich gerade wenn man viele devices hat. Dann wäre aber eine kleine Liste gut welche Parameter man denn setzen kann. bei der HM_CUL waren Dinge dabei wie

.devInfo, actCycle, actStatus, alias, autoReadReg, expert, firmware, group, model, peerIDs, room, serialNr, subType

die Abfrage in FHEM mit "attr xyz ?" ergibt (ist es das was man an Parametern hat?):
choose one of verbose room group comment alias eventMap userReadings IODev ccureadingfilter ccureadingformat ccureadings ccuget ccuverify disable mapdatapoints statevals substitute statechannel statedatapoint controldatapoint stripnumber event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride userattr