IO-Homecontrol Devices über Tahoma Box einbinden

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

Vorheriges Thema - Nächstes Thema

pc1246

Schoen
Ich glaube ich bin auch ueber das ACCOUNT gestolpert!
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

Hallo,
ich habe das modul etwas erweitert:

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

Die identifizierer fid, die eigentlich eindeutig sein sollten, haben sich wiederholt, und dadurch wurden manche Devices nicht angelegt.
Ausserdem konnten hier Sonderzeichen vorkommen, die FHEM nicht im Namen mag (autocreate schlägt fehl).
Bei den z.B. den Controllern wurden set commands angeboten, obwohl hier gar keine Kommandos existieren.
Das erneute Login wird jetzt verzögert (von erst 10s auf dann 20,40,80,160s) damit bei Serverabschaltung nicht immer alle 2s/10s ein Login probiert wird.

Das dim habe ich mich aktuell noch nicht getraut zu entfernen, wo es keinen Sinn macht.
Ich will das nur noch bei inClass:RollerShutter bzw. wenn command setPosition existiert ermöglichen.
Bei den Räumen soll es bleiben, was haltet ihr davon?

Gruß Rolf
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

Steeeve

Hallo!

Hat von euch irgendwer das devStateIcon eingestellt, damit man den Status der Raffstores sieht? da der State ja dim davor hat, klappt folgendes bei mir nicht:
up:fts_shutter_10@green down:fts_shutter_100@black 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100

Hab dann komplett umgebaut auf:
dim0\d.*:fts_shutter_10 dim1\d.*:fts_shutter_20 dim2\d.*:fts_shutter_30 dim3\d.*:fts_shutter_40 dim4\d.*:fts_shutter_50 dim5\d.*:fts_shutter_60 dim6\d.*:fts_shutter_70 dim7\d.*:fts_shutter_80 dim8\d.*:fts_shutter_90 dim9\d.*:fts_shutter_100

aber das ist irgendwie auch nicht der richtige Weg - bin leider echt ein REGEX Noop!

Vielen Dank für Eure Hilfe im Voraus

lg
Steeeve

yc2k17

Ich muss leider nochmal nachhaken... komme einfach mit den RTS Funksteckdosen nicht weiter. Über die FHEM Oberfläche kann ich die Steckdose steuern, allerdings klappt die Anbindung via homebridgemapping nicht. D.h. ich kann die Steckdose nicht über EVE/Siri/Alexa steuern. Angezeigt wird sie und auch als Switch erkannt, aber es gibt keinerlei Reaktion.

Kann mir jemand vielleicht kurz weiterhelfen und mit sagen, was ich dort eintragen muss?

Danke!

Darkmozart

#274
Hallo zusammen,

ich bin absoluter FHEM-Neuling und wollte mal versuchen ob ich meine Somfy-Rolläden über FHEM gesteuert bekomme.
Zum Ausprobieren hab ich mir folgende Umgebung geschaffen:
Win10, FHEM und Perl sind am laufen.
define tahoma1 usw hat auch funtkioniert.
Das Problem ist, das sich das Modul nicht bei Somfy einloggen kann (Nuzername und PW über Web-login überprüft, da funktionierts...)
Im Logfile sieht das folgendermaßen aus:
2017.08.11 17:22:32 3: tahoma1: tahoma_connect
2017.08.11 17:22:32 3: tahoma1: tahoma_login
2017.08.11 17:22:32 2: tahoma1: login start
2017.08.11 17:22:33 3: tahoma1: request active
2017.08.11 17:22:33 2: tahoma1: tahoma_dispatch http request failed: https://www.tahomalink.com:443: Attempt to reload IO/Socket/SSL.pm aborted.
Compilation failed in require at (eval 167) line 1.
BEGIN failed--compilation aborted at (eval 167) line 1.

2017.08.11 17:22:41 3: tahoma1: tahoma_login
2017.08.11 17:22:41 2: tahoma1: login start
2017.08.11 17:22:41 2: tahoma1: tahoma_dispatch http request failed: https://www.tahomalink.com:443: Attempt to reload IO/Socket/SSL.pm aborted.
Compilation failed in require at (eval 168) line 1.
BEGIN failed--compilation aborted at (eval 168) line 1.

Im Modul wird folgendes angezeigt:

BLOCKING                0
CFGFN
Clients                     :tahoma:
DEF                        ACCOUNT xxx@xxx.de xxxxxx
HTTPCookies
INTERVAL                 0
NAME                       tahoma1
NR                           133
NTFY_ORDER            50-tahoma1
STATE                       Initialized
SUBTYPE                   ACCOUNT
TYPE                        tahoma
VERSION                  0215
[b]logged_in                 0[/b]
loginRetryTimer         160
refreshStateTimer      1502465072
request_active           0
request_time             1502464953.02752
startup_done
startup_run
timeout                     10
url                            https://www.tahomalink.com/enduser-mobile-web/externalAPI/json/
userAgent                 TaHoma/7980 CFNetwork/758.5.3 Darwin/15.6.0


Demzufolge werden natürlich auch keine Devices von Somfy abgerufen.
Habe schon mehrfach versucht das Modul zu löschen und neu anzulegen - leider kein Erfolg :-(

Hat jemand eine Idee an was es liegen könnte? Oder was noch versucht werden kann?

Andreas

::EDIT::
Fehler gefunden...
Es lag an Perl.
Ich habe eine zweite FHEM Installation mit einer anderen Perl-Variante genommen und schon funktionierts.
Fehlerhafte Perl: StrawberryPerl Version 5.26.0.1 64bit Zip-Edition
Funktionierende Perl: ActivePerl, aktuelle Version

Andreas, der jetzt mal zu spielen bgeinnt :-)
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

pc1246

Moin Andreas
Und herzlich willkommen im Forum. Viel Spass und Erfolg!
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

stoeff99

#276
Hallo Gemeinschaft,

Soweit kann ich mit meinem FHEM Server meine Storen ansteuern.
Ich möchte nun aber die Storen von meiner Loxone Steuerung aus bedienen. Meine Idee ist auf der Loxone mit Virtuellen Ausgängen zu Arbeiten, die dann einen HTTP Befehl an den FHEM server schicken. Ich habe verschiedene HTTP Befehle versucht, aber keiner funktioniert bis jetzt.

Als Beispiel habe ich es mit folgendem HTTP Befehl versucht:
http://192.168.xxx.xxx:8083/fhem?cmd=set%tahoma_490040%dim20% (Die Store sollte auf 20% gestellt werden).

Ist dies mit dem 26_Tahoma Modul so überhaupt möglich? Wenn ja, was mach falsch ;-).
Wie könnte man sonst von der Loxone die nötigen Befehle an den FHEM Server senden?

Danke für die Hilfe!

Gruss
Chris

PS: Bein ein absoluter FHEM Neuling ;-)

Edit:
Wenn ich im WEB den Wert "csrfToken" auf "none" setze, dann klappt es mit den HTTP Befehlen. Hat jemand eine Idee, wie man das auch mit csrfToken zum laufen kriegt?

Edit #2:
So nach weiterer Suche habe ich die Lösung. Mit einem "statischen" Token den ich im WEB gesetzt habe funktioniert es. Der HTTP Befehl sieht dann z.B. so aus: http://192.168.xxx.xxx:8083/fhem?cmd=set tahoma_490040 dim 30&fwcsrf=STATIC FHEM TOKEN
Dieses Beispiel setzt die Store auf 30% zu.


Darkmozart

Noch eine Frage zum Modul...

Wenn man (wie ich) mehr als 10 Geräte auf einmal ansprechen möchte, dann bekommt man ja
tahoma_dispatch error: Execution queue is full (soft limit: 10)
Ist dies nur ein Eintrag im Log, oder wird dabei auch ein Event erzeugt, welches ich übersehen habe?

Event wäre praktisch..., dann könnte man einfacher darauf reagieren...

Darkmozart
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

mike3436

Hallo Darkmozart,

wenn mehr als 10 Geräte angesteuert werden sollen, dann geht das aktuell nur über die Szenen oder Gruppendefinitionen (room).
Werden mehr als 10 Aktionen ausgelöst, dann kommt die beschrebene Fehlermeldung.
Da ich bisher Fehlermeldungen nicht interpretiere, wird dann die Verbindung unterbrochen und erneut verbunden.

oder wird dabei auch ein Event
Das property 'lastError' in 'internals' wird entsprechend der zurückgelieferten Fehlermeldung gesetzt.
Ich weis nicht, ob hierüber ein Event ausgelöst wird, aber ich könnte es zusätzlich/alternativ auch als Reading anlegen.

Eigentlich könnte ich die Befehle zusammenfassen und innerhalb eines Kommandos senden. Ich habe aber noch kein umsetzbares Konzept erarbeitet, und ich weis auch nicht wie viele devices parallel angesteuert werden dürfen.
Wenn du z.B. das komplette room 'Haus' ansteuerst, geht das dann problemlos?
Bei meinen 9 Rolladen geht das, wie viele devices vom type RollerShutter hast du?
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

Darkmozart

Ich habe 21 Rolläden...
Der komplette room Haus funktioniert.
Auch die Zusammenfassung über vordefinierte Räume würde funktionieren. Da bin ich dann aber pro Device auf einen Raum begrenzt - ich würde aber gern die Rolladen in fhem mehreren Gruppen zuordnen können (u.a. schlafen, wohnen, Himmelsrichtungen....) - dies ist über die Box selbst nicht möglich - Um verschiedene Beschattungsszenarien realisieren zu können. Und da sinds dann speziell in der Gruppe wohnen 12 Devices.
Das internal wird zwar gesetzt, aber kein Event dadurch ausgelöst.
Mein Wunsch wäre ein Event ( ob mit oder ohne Reading ist erst Mal zweitrangig, mit ist wahrscheinlich einfacher zu realisieren) aus dem ich das Device und den gewünschten Befehl auslesen kann. Dann könnte ich auf das Event reagieren und das Device verzögert nochmal ansteuern.
Z.b tahoma_0815 dispatch_error: dim 75 oder so in der Art.
Durch diese Reaktion könntest du dir dann die Gedanken über die Zusammenfassung beim Befehle senden sparen.
Alternativ könntest du diese verzögerte Reaktion ins Modul einbauen, dann könnten auch Fehler vermieden werden wenn z.b. 2 Gruppen a 6 Devices kurz hintereinander angesprochen werden. Dann würde sich auch wiederum das Event erübrigen. - es führen wie üblich viele Wege nach Rom ..

Grüße Darkmozart
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

mike3436

Über eine solche Gruppierung hatte ich auch schon mal nachgedacht, da über die App nur Räume definierbar sind, und ein Device so nicht doppelt in zwei Gruppen vorhanden sein kann. Das geht dann ein bischen an der FHEM Gruppierung vorbei, wäre aber ggf. effektiver zu steuern.

Auch die verzögerte Ansteuerung wäre natürlich möglich:

  • die Ansteuerung des 1. - 5. Device/Room wird direkt ausgeführt
  • die Ansteuerung weiterer Devices/Rooms wird zusammengefasst, d.h. es wird z.B. 2s gewartet, bis der Befehl gesendet wird
Ich müsste dann sowieso eine Queue implementieren und könnte dann abfangen, dass maximal 10 Kommandos parallel laufenden dürfen.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

Darkmozart

Das mit x Sekunden warten habe ich schon versucht - Problem dabei ist, falls ein Device länger braucht kommt man wieder an die Grenze und steht vor dem selben Problem.
Meine Lösung wäre schlicht alle Befehle Absenden und falls dann der dispatch-Error wegen kommt diesen abfangen und dann das Device nach (1) Sekunden erneut ansteuern. Solange der error kommt wieder hinten anstellen bis der Befehl abgearbeitet ist.
Dadurch konnte der User (also in den Fall ich) stupide Befehle abfeuern, die dann alle sicher abgearbeitet werden, egal wie viele Befehle in der Schlange warten. Auch brauchte man sich keine Gedanken machen wie lang die Pause sein soll - der Befehl wird ja dann einfach so lange hinten angestellt bis er dran ist.
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

mike3436

Ich habe eine neue Version V0216 eingecheckt die das anlegen von Gruppen ermöglicht
Dadurch wird das Problem der maximal 10 aktiven Kommandos zwar nicht behoben, aber man kann es jetzt vermeiden.
Das Modul sollte morgen über update verfügbar sein ...
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

Darkmozart

Wie immer du das gemacht hast - es löst mein Problem.
Danke!
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

mike3436

#284
Bitte  :)

ZitatWie immer du das gemacht hast -
Man kann ja mehrere Devices innerhalb eines Web-Kommando ansteuern - das war wohl nie ein Problem. Diese könnten auch komplett andere Befehle/Positionen pro Device wie in einer Scene beinhalten - der Aufwand in der Definitionslogik war mir aber zu schwierig unterzubringen.

Aber man kann nicht gleichzeitig mehr als 10 Web-Befehle an den Server hintereinander wegschicken. Dazu müsste ich die Web-Befehle in eine Queue schreiben, und erst weiterleiten wenn die ersten Web-Befehle abgearbeitet worden sind, oder man könnte einfach mehrere Web-Befehle zu einem zusammenfassen.

Das werde ich ggf. beim nächsten Redesign einbauen.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200