Neues Modul für REV Ritter iComfort

Begonnen von memed, 22 Juli 2016, 11:23:41

Vorheriges Thema - Nächstes Thema

memed

Hallo,

nach etwas Arbeit ist es mir gelungen das Netzwerk-Gateway von iComfort zu verstehen. Kommandos, Statusmeldungen und Parameter sind grundsätzlich verstanden, auch Dimmer-Funktionen oder Zeitpläne setzen klappt. Es fehlen Details zu Rolloschaltungen (habe keine) und manche Besonderheit ist sicherlich noch unbekannt.

Mit shellskripten ist die Steuerung schon halbwegs möglich aber an einer Umsetzung mit Php oder Perl möchte ich mich nicht alleine versuchen.
Evtl. hat ja jemand Lust anhand einer Protokolldefinition zu helfen ein FHEM Modul für iComfort zu bauen - ich würde sogar hoffen, dass nur ein vorhandenes Modul umgemodelt werden muss...

Hier sind die Infos zum Protokoll: http://pastebin.com/3Jv6Rpjf

Ich könnte bei ernsthaftem Interesse auch ein Lan-Gateway und ein Gerät leihweise zur Verfügung stellen falls jemand Lust aber kein Gerät hat.

Viel Spass am Geraet

rastagandalf

Gibt es da inzwischen was neues?
Hab so ein Ding bekommen, leider ohne Fernbedienung, aber FHEM könnte das ja übernehmen...sonst bleibts erstmal in der Haustechnikkiste...

elw

Hallo Zusammen,

Habe mir mal die Mühe mit eiem zweistufigen Modul für das REV Gateway 86500-B gemacht. Gateway anlegen über define <Name> REVICOMFORT <IPAdresse>. wenn danach die Learntaste an den Schaltern für drei Sekunden gedrückt wird, werden die Clients angelegt.

Näheres auch im HTML Bereich der Dateien.

Vielleicht schaut auch mal Rudolf oder Markus über die Programmierung.

Über Feedback würde ich mich freuen.

rudolfkoenig

Grob druebergeschaut, was mir auffaellt:
- REVICOMFORT_Set: Befehle wie "set dev close no" macht nichts, und es kommt mir, als Benutzer merkwuerdig vor. Wozu ist yes/no notwendig?
- Beide DeleteFn Funktionen: wo wird die Datei angelegt, was hier geloescht wird?

elw

Hallo,

Die Delete Funktion nehme ich heraus.
Wie setzt man my %devices = ("open"       => "yes,no"); ohne das ein Textfeld hinter der Auswahlliste erscheint?

Danke fürs durch schauen.
Gruß

rudolfkoenig

"open" => "noArg"

Siehe auch commandref Doku zu widgetOverride.

elw

Hallo,

Hier nun die geänderten Dateien.

Danke für die Infos.
Gruß

siddyfly

hi habe heute das Modul mal reinkopiert und fix die config angepasst.
Funktioniert :D ;D.
Klick auf Fernbedienung Licht geht an und FHEM zeigt es.
Klick FHEM und Licht geht aus incl Statuswechsel in FHEM.
Und umgedreht.
Super.
Hatte schon via Perlscript gebastelt. Das Modul hier ist jedoch besser.
Danke an den Entwickler.
Ich werde später definitiv mehr Feedback geben.
Hab auch noch einen Weg wie man schnell alle devices abfragen kann via Perl.
Das spart das rumsausen durchs Haus.
Reiche ich nach, muss das Skript noch anpassen.

elw

Hey,

schön, das es Dir gefällt.
Habe diese Woche den Dimmer dazu erhalten. Werde es zeitnah einpflegen und dann hier wieder einstellen.
:)

siddyfly

hier das kleine script mit dem man alle geräte auslesen kann.
Ich hoffe das geht bei euch, ich hab einen Raspi am laufen.
Somit bleibt das große krabbeln und das Öffnen der Unterputzdosen aus. Ihr müsst nur die IP Adresse im Script anpassen.


In die fhem.cfg hab ich es so eingebaut.

#REV ICOMFORT definition LampeKueche 00011511
define REVI_00011511 REVI 00011511
attr REVI_00011511 IODev ICOMFORT
attr REVI_00011511 alias LampeKueche
attr REVI_00011511 devStateIcon on:black_FS20.on:off off:black_FS20.off:on
attr REVI_00011511 room Wohnzimmer
define FileLog_REVI_00011511 FileLog ./log/REVI_00011511-%Y.log REVI_00011511
attr FileLog_REVI_00011511 logtype text
attr FileLog_REVI_00011511 room logfiles


Viele Grüße

elw

Hey, super

werde versuchen den Befehl mit im Gateway aufzunehmen. Bin gerade bei den Dimmern.
Den Befehl kannte ich noch nicht . Danke

memed

Vielen Dank für die Arbeit am Modul!
Ich werde das die Woche mal alles auf einer Synology installieren wenn alles gut geht.
Zu den Dimmern noch ein Tipp: die Dimmer brauchen kein Abschluss-Zeichen (\n) im Befehl, da wird mit übermitteltem Hex-Wert direkt geschaltet.
Die Dimmer sind aber eh etwas tricks, da ist bei 100% nicht der gleiche Strom anliegen wie bei einem Switch - der DImmer ist immer noch ein bisschen aktiv und moduliert die Phase. Bei 0% ist auch nicht ganz aus. Ich habe einen Mückenstecker der bei 0% noch fröhlich flackert und bei 100 nicht ganz leuchtet....

Gruß -M

elw

#12
Hallo,

Anbei eine neue Version. Nun sind die Dimmer mit drin.

Zwei Dinge, die mir richtig Kopfschmerzen bereiten,sind:

Die Dimmfunktion Up oder Down geht im Moment immer nur einen Wert weiter. Ich würde gerne kontinuierlich weiter dimmen und dann mit set dimstop , das ganze stoppen. Also einen Loop aufrufen, aber im nächsten Schritt mit dimstop das Script nochmal aufrufen. Und genau das brachte alles zum Absturz. Vielleicht gibt es hier irgendeine Lösung , die mir bislang noch nicht bekannt ist.

Bei der Definition werden jetzt zwei Werte in die Def geschrieben. Dieses zu trennen und den Typ des Devices in {Typ} zu schreiben gelang mir überhaupt nicht.
Mit ParseParams habe ich experementiert, habe aber nur die Hash Referenz sehen können, und nicht die Rohdaten. Vielleicht auch hier von Euch eine Idee.

Gruß ELW

memed

H,

ich habe scheinbar noch PRobleme mit der Umgebung (Synology x86 NAS mit aktuellem FHEM, update erfolgreich durchgeführt).
Bei jedem Senden eines Befehls crasht FHEM.
Hier die Logmeldung zum Aurodiscover und zum Crash:
2017.01.25 01:38:22 0: Featurelevel: 5.7
2017.01.25 01:38:22 0: Server started with 13 defined entities (fhem.pl:13142/2017-01-18 perl:5.024000 os:linux user:fhem pid:25960)
2017.01.25 01:40:08 3: REVI  (ICOMFORT)  - Vorschlag to defined UNDEFINED REVI_001627c1 REVI 001627c1 84462
2017.01.25 01:40:08 2: autocreate: define REVI_001627c1 REVI 001627c1 84462
2017.01.25 01:40:08 2: autocreate: define FileLog_REVI_001627c1 FileLog ./log/REVI_001627c1-%Y.log REVI_001627c1
2017.01.25 01:40:47 1: PERL WARNING: Use of uninitialized value $REVTyp in string eq at ./FHEM/79_REVI.pm line 211.
2017.01.25 01:40:47 1: PERL WARNING: Use of uninitialized value $REVTyp in string eq at ./FHEM/79_REVI.pm line 215.
2017.01.25 01:41:08 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/92_FileLog.pm line 437.
2017.01.25 01:41:30 3: REVICOMFORT (ICOMFORT) - sending data: S?d=00&a=001627c1
Can't use string ("1/8") as a HASH ref while "strict refs" in use at /usr/local/fhem/opt/fhem.pl line 3566.

Ich komme da nicht weiter, evtl. Tipps was ich machen kann?
Gruß -M

elw

Hallo,

Du hast recht, Sorry, da ist mir ein Fehler unterlaufen. Jedenfalls das mit dem REVTyp ist weg. Warum:

Can't use string ("1/8") as a HASH ref while "strict refs" in use at /usr/local/fhem/opt/fhem.pl line 3566.

kommt.....????

Zum Schluss habe ich die Kodierung der  Dateien von Ansi auf UTF-8 gemacht, was sich wohl auch auf den Code und nicht nur auf den HTML  Bereich auswirkte. Warum, weiß ich noch nicht. Muss erstmal suchen.
Ich melde mich dann wieder.
Gruß