IO-Homecontrol Devices über Tahoma Box einbinden

Begonnen von mike3436, 17 Oktober 2014, 22:07:36

Vorheriges Thema - Nächstes Thema

mike3436

Ich möchte den FHEM Nutzern, die den Bedarf zur Steuerung von IO-Homecontrol Geräten verspüren, mein Modul zur Steuerung über die Tahoma Box vorstellen. Wer sich die Tahoma Box zur Steuerung der Rollladen zugelegt hat, wird sich denken "Wofür brauch ich das dann noch" aber die zusätzliche Einbindung in den FHEM Server bietet doch einige Vorteile. So können Szenen automatisch ausgelöst werden, die prozentgenaue Steuerung ist möglich und gemeinsame Steuerung von Raum oder Etage ist realisiert.

Die Einbindung ist dank autocreate einfach:

1. Modul 26_tahoma.pm nach fhem/FHEM/ kopieren (ab 17.06.2016 im SVN, wird daher automatisch über 'update' geladen bzw. aktualisiert)
2. Eintrag in fhem/fhem.cfg:
define tahoma1 tahoma ACCOUNT <Loginname> <Password>
attr tahoma1 room tahoma


Weitere nützliche optionale Attribute:
proxy <ip>:<port>
url <komplette adresse des tahoma servers>
useragent <applications string>
blocking

Bis Version 0206: Das Modul hat noch ein Problem mit dem Nonblocking-HTTPS-Zugriff:
Da ich das modul HttpUtils.pm nicht verwenden konnte (cookie wird nicht gespeichert, bzw. ich wuste nicht wie das Problem gelöst wird), muste habe ich die Zugriffe über andere dokumentierte perl-basismodule (LWP::UserAgent,  LWP::ConnCache; HTTP::Cookies) abhandeln.
Da der asynchrone Zugriff hierbei nicht immer rund läuft, ist das blocking Attribut notwendig:
attr blocking 1

Auch wird bis Version 0200 das modul XML::Simple benötigt.
Eventuell müssen dazu noch perl-module nachinstalliert werden.
Auf dem Windows-PC mit Perl6 lief alles, auf dem PI kam erst eine Fehlermeldung.


Bis zur Version V0207 sind die LWP und Net Bibliotheken notwendig:
sudo perl -MCPAN -e'install "LWP::Simple"'
sudo cpan Net::HTTP


Für alte Version des Moduls bis V0199 wird die Bibliothek XML::Simple benötigt.
sudo apt-get install libxml-simple-perl
Für das neue V02xx-Modul ist stattdessen die json Bibliothek notwendig:
sudo apt-get install libjson-perl

P.S. wer sich das Modul 26_tahoma schon mal aus einem anderen Beitrag kopiert hat, sollte die aktuelle Version benutzen.
Die vorherige hatte noch einige Probleme, z.B. wenn der automatisch generierte Name geädert wurde.

Bei einigen Benutzern des tahoma moduls kam es zu einem regelmäßigem Absturz beim Lesen des (ungenutzen) Ereignisspeichers per getHistory Abfrage. Deshwegen kann es Sinnvoll sein die Zeile in der Liste des startup_pages auszukommentieren:

my @startup_pages = ( 'getEndUser',
                        'getSetup',
                        'getActionGroups',
                        'getWeekPlanning',
                        'getScheduledExecutions',
                        #'getHistory',
                        'getSensorTriggers',
                        'getUserPreferences',


Update 2015-09-20:
neues Modul V0201 angehängt, welches die neue json- anstatt der xml-Schnittstelle des Servers bedient.
Läuft bei mir seit 3 Wochen stabil.
Ansonsten erst mal keine Neuerungen.

Update 2016-02-20:
- bugs forcing some startup warning messages fixed
- perl exception while parsing json string captured

Update 2016-02-24 V 0204:
- commands open,close,my,stop and setClosure added

Update 2016-04-24 V 0205:
- commands taken from setup

Update 2016-06-16 V 0206:
- updateDevices called for devices created before setup has been read

Update 2016-11-15 V 0207:
- BLOCKING=0 can be used, all calls asynchron, attribut levelInvert inverts RollerShutter position

Update 2016-11-27 V 0208:
- HttpUtils used instead of LWP::UserAgent, BLOCKING=0 set as default, umlaut can be used in Tahoma names

Update 2016-12-15 V 0209:
- perl warnings during startup and login eliminated

Update 2017-01-08 V 0210:
- tahoma_cancelExecutions: cancel command added
- cancel on DEVICE, PLACE or SCENE stops this command only, if still running
- cancel on ACCOUNT stops all running commands

Update 2017-01-08 V 0211:
- tahoma_getStates: read all states based on table {setup}{devices}[n]{definition}{states}

Update 2017-01-24 V 0212:
- tahoma_getStates: read all states recovered
- start scene with launchActionGroup so cancel is working on scenes now
- Attribut interval used to disable or enable refreshAllstates
- Setup changes recognized for reading places

Update 2017-03-23 V 0213:
- username and password stored encrypted

Update 2017-05-07 V 0214:
- encryption can be disabled by new attribut cryptLoginData
- correct parameters of setClosureAndLinearSpeed caused syntax error in transmitted command

Update 2017-07-08 V 0215:
- creation of fid and device names for first autocreate extended
- login delay increased automatically up to 160s if login failed
- default set commands on devices without commands deleted

Update 2020-04-14 aktuellste Version aus dem svn repository:
https://svn.fhem.de/fhem/trunk/fhem/FHEM/26_tahoma.pm
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

beckerheinz

Ich habe auch 5 RTS und 7 IO-Homecontrol Rollos von Somfy, die ich gerne über FHEM ansteuern würde. Die RTS kann ich wohl auch über einen CUL 433 direkt aus FHEM ansteuern, aber IO-homecontrol wohl nicht?! Richtig?

Von daher müsste und würde ich wohl in den sauren Apfel beißen und mir eine Tahoma-Box besorgen, die kann wohl beides.

Von daher würde mich dein Modul interessieren!
Kann man mit deinem Modul die Rollos per FHEM über die Tahoma-Box zuverlässig ansteuern?
RPi mit FHEM 5.7, Jeelink +  9 LaCrosse TX29DTH, Jeelink +  10 PCA301 Funksteckdosen, CUL868 mit 9 MAX! Heizkörperthermostaten und Fensterkontakten, 3 Somfy RTS Rollos, Tahoma, CUL + Homematic  mit 2 HM-WDS30-OT2-SM-2

thdankert

Zitat von: beckerheinz am 29 Januar 2015, 08:14:53
Ich habe auch 5 RTS und 7 IO-Homecontrol Rollos von Somfy, die ich gerne über FHEM ansteuern würde. Die RTS kann ich wohl auch über einen CUL 433 direkt aus FHEM ansteuern, aber IO-homecontrol wohl nicht?! Richtig?

Hallo beckerheinz,

RTS geht mittlerweile direkt von FHEM aus (idealerweise mit einem CUL 433, es geht aber auch der CUL 868) - ich habe das Modul geschrieben.
io-Homecontrol ist leider ein komplett anderes Protokoll, und mangels Hardware habe ich hier noch nicht versucht, das zu "dekodieren".

Grüße,
Thomas
RPI mit FHEM, 2x Stackable CC (868 und 433MHz)

pc1246

Hallo Thomas
Was brauchst Du? FB und Unterputzsender kann ich leihweise zur Verfuegung stellen!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

mike3436

Zitat von: beckerheinz am 29 Januar 2015, 08:14:53
Kann man mit deinem Modul die Rollos per FHEM über die Tahoma-Box zuverlässig ansteuern?

Hallo beckerheinz, zuverlässig ist das Modul wohl, aber bisher beschränkt auf IO und Rollos.
Wenn mir jemand seinen geloggten SetupResponse (loglevel 5) zu Verfügung stellen würde, dann würde ich auch mal versuchen, andere Komponenten anzusteuern. Aktuell beschränkt sich der Schreibzugriff auf RollerShutter.
Aber ich will mich hier auch nicht zu weit aus dem Fenster lehnen - eventuell ist dies ohne Live-Zugriff nicht sauber machbar.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

beckerheinz

Vielen Dank erstmal für die schnellen Antworten.

Zitataber bisher beschränkt auf IO und Rollos

D.h. ich kann über FHEM + Tahoma z.Z. keine RTS ansteuern?!

Die RTS direkt ansteuern soll mit meinem CUL868 zwar funktionieren, aber die Reichweite soll extrem kurz sein, richtig?!
DerCUL868  ist im MAX mode für meine MAX Thermostate, ich kann ihn aber (bzw. er sich automatisch)  trotzdem auf Somfy (also slowRF) zum Senden der Befehle umstellen?

RPi mit FHEM 5.7, Jeelink +  9 LaCrosse TX29DTH, Jeelink +  10 PCA301 Funksteckdosen, CUL868 mit 9 MAX! Heizkörperthermostaten und Fensterkontakten, 3 Somfy RTS Rollos, Tahoma, CUL + Homematic  mit 2 HM-WDS30-OT2-SM-2

mike3436

Zitat von: beckerheinz am 31 Januar 2015, 15:11:32
D.h. ich kann über FHEM + Tahoma z.Z. keine RTS ansteuern?!

So genau kann ich dir das nicht sagen, da ich keine RTS habe und somit mir die Info fehlt, wie ein RTS Rollo in der Konfiguration gespeichert wird. Generell funktioniert das Modul halt wie die Apps, d.h. über die auf dem Tahoma Server abgelegte Hauskonfiguration wird abgerufen, und dann in die FHEM Konfiguration übernommen. Alle Geräte werden dargestellt und könnten dann theoretisch auch angesteuert werden. Ich habe dies aber bei Geräten die keine Rollo's sind verhindert, da ich mangels eigener Geräte nicht weiß, welche Befehle für diese abgesetzt werden müssen. Dazu brauchte ich mal temporär den Zugriff auf die Konfiguration eines Tahoma-Besitzers mit anderen Geräten.

Was die Steuerung der RTS betrifft, könntest du mal im inoffiziellen iohomecontrol forum nachfragen.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

FlorianZ

Hallo,

Ich benutze das Tahoma-Modul nun seit Oktober 2014.
Es läuft sehr zuverlässig.
Bei mir werden über Tahoma-->Fhem 3 Velux Integra Dachfenster IO, 2 Oximo IO Rollos, 3 Velux Aussenrollos IO, 1 Dexxo IO Garagentorantrieb angesteuert.
Zusätzlich hab ich noch einen Velux Plug IO der zwar erkannt und angelegt wird, aber nicht sauber steuerbar ist.(Wird mit einen Slider angelegt)
IO Homecontrol läuft bei mir seit 2007 extrem gut ohne jeglichen Aussetzer.
Das einzige was mich derzeit abhält weiter in IO zu investieren ist die Abhängigkeit von der Tahoma Box und Somfy.
Sollten die irgendwann mal die API oder sonst was an der Box ändern, geht mit Fhem nichts mehr.
Wäre es vielleicht möglich mit dem Somfy Set&Go io was auf die Beine zustellen?

VG
Florian

mike3436

Zitat von: FlorianZ am 01 Februar 2015, 13:32:37
Wäre es vielleicht möglich mit dem Somfy Set&Go io was auf die Beine zustellen?

An das Set&Go habe ich auch schon gedacht. Ich hatte mir mal die Software installiert (ohne Hardware) und mir die Treiber angeschaut. Es ist wohl ein einfacher USB-Seriell-Wandler, und die Telegramme sollten so mit einfachen Mitteln mitgeschrieben und analysiert werden können. Eventuell ist aber schon die Übertragung im Funk-Endformat verschlüsselt, so daß eine Analyse hier nicht weiterhilft. Aber vielleicht inverstiere ich mal die 150 Euro ...

P.S.: zur Zeit arbeite ich an einem Tahoma-Binding für OpenHAB - der Umweg über FHEM geht zwar, aber die Android App andFHEM unterstützt nur darin implementierte Geräte und dazu gehört Tahoma nicht.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

FlorianZ

Sollte ein neues Projekt zustande komment könnt ich mit Hardware oder Zugang zur Box mithelfen.
Ob das mit einen Cul geht glaub ich nicht, da ja IO auf 3 Frequenzen senden kann.
Wegen der App kannst du dir auch mal die neue Möglichkeit mit Smartvisu ansehen.
Dort kannst du alle Devices anlegen für Visualisierung und Bedienung.

VG
Florian


hhesse

wo kann man den das 26_tahoma.pm herunterladen?

FlorianZ

Zitatwo kann man den das 26_tahoma.pm herunterladen?

Im ersten Beitrag ist ein zip im Anhang  ::)

FlorianZ

@Mike3436

Hallo,
durch die Umstellung auf Tahoma 2.0 funktioniert das Tahoma Modul leider nicht mehr.
Fhem stürzt sofort ab mit einen XML Fehler.
Könntest du dir das Modul nochmal ansehen ob du es wieder zum laufen bringst?

vg
Florian

mike3436

Hallo Florian,
das Modul liegt erst mal auf Eis, also erst mal deaktivieren!  :'(
Die notwendigen Änderungen sind erheblich und ich muss mich erst mal in die neue Kommunikation einarbeiten.
Am liebsten wäre mir ja immer noch eine direkte Kommunikation mit der Tahoma-Box, anstatt über den Server.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

FlorianZ

Seit Dienstag Nacht läuft das Modul wieder ohne Fehler. :D
Ist also so wie es aussieht doch kompatibel mit Tahoma 2.0.
Besteht bei dir noch Interesse das Modul für Fhem weiterzuentwickeln?

vg
Florian