Modul Somfy TaHoma

Im Module Store findet ihr ab sofort das Somfy Modul, welches die lokale API unterstützt!

Dokumentation zur Kompatibilität:


Original Post:

Hallo,
ich bin seit Jahresbeginn bei der Ersteinrichtung von IPS auf einem Raspberry 3. Ich habe nun für meinen Anwendungsfall mit meiner Somfa Tahoma Box (mehrere RTS u. mehrere IO) eine Frage. Ich habe zwei fertige Module hierfür gefunden:

  1. Modul von Wolbolar/IPSymconTahoma > https://github.com/Wolbolar/IPSymconTahoma
  2. Modul von paresy/TaHoma > https://github.com/paresy/TaHoma

Ich würde gerne von Euch wissen welches Modul das aktuelle bzw. welche Unterschiede zwischen den Modulen bestehen. Hat eventuell jemand damit Erfahrung und kann mir einen Tip geben. Das Modul von Fonzo ist übrigens auch über den Modulstore auffindbar.

Herzlichen Dank für Eure Hilfe
Gruß ICS

Sieht beides noch sehr nach Beta aus. Hast du mal eines der Module getestet?
Vielleicht kann @paresy uns mal aufklären welchen Stand sein Modul hat.

Hi Chilled,
ja, wäre sicherlich hilfreich zumal mir auch die Doku nicht wirklich weiterhilft da diese leider das falsche Modul beschreibt. Das TaHoma Modul aus dem Betastore habe ich getestet aber nicht wirklich verstanden da der Tahoma Configurator nur Fehlermeldung ausgab. Die Anmeldung scheint funktioniert zu haben aber ich bin noch in der Ersteinrichtung von IPS und lerne erst mal zu verstehen wie IPS und die Module funktionieren. Ich hab das Thema somit nach hinten geschoben da es derzeit für mich noch viele weitere Baustellen bei meiner Erstinstallation gibt. Allerdings ist die TaHoma Box für mich ein doch recht wichtiger um nicht zu sagen sehr wichtiger Baustein da ich mehr als 16 RTS Melder dort integriert habe. Weiterhin liegen auf der Box noch 6 IO-Plugs, drei Connected Raumthermostate sowie 4 Rolladensteuerungen …. ohne Tahoma … wird’s nix mit dem Smart Home :slight_smile:

Ich freue mich somit über jeden Beitrag der hilft, die TaHoma Box ein wenig schneller zu integrieren.
Gruß aus dem Saarland

ICS

Hallo,
ich melde mich hier nochmals nach einem kurzen Blick ins Nachbarforum. Eventuell kann einer der Entwickler hier im Forum welcher sich besser auskennt als ich :slight_smile: mal einen Blick ins Nachbarform werfen - dort gab es am 6 Dezember 2019 als Nikolausüberraschung einen Somfy/TaHomaadapter von thoemmes86 - !!! Danke und Gratulation an dieser Stelle an den Entwickler !!!
https://forum.iobroker.net/topic/8169/anfrage-tahoma-somfy-io-adapter/65

Eventuell sollte mit dieser Vorarbeit eine Integration in IPS schneller möglich werden.

Ich hoffe mit dem Verweis auf das Nachbarforum nicht gegen interne Regeln verstoßen zu haben.

Danke und einen schönen Abend noch Euch allen

Gruß ICS

Die grundsätzliche Cloudanbindung steht in
GitHub - paresy/TaHoma: Somfy TaHoma
Die API ist vollständig hier dokumentiert. Muss sich nur jemand finden der Somfy selber besitzt und auf der Grundlage das dann testet bzw. die dokumentierten Befehle einpflegt ;).

@Fonzo
erst mal Danke für Deine Nachricht auf welche hin ich mich nochmals intensiver mit dem Thema beschäftigt habe. Da Modul von @paresy habe ich installiert und kann bestätigen, dass die Somfy Open API Cloud Anbindung in IPS sauber funktioniert. Es werden weiterhin durch das Autodiscover alle bei Somfy „implementierten“ Devices gefunden. Die Variablen müssen dabei noch wie Du schon erwähnt hast, ergänzt werden. Gerne bin ich als Leidtragender :slight_smile: nach entsprechender Einarbeitung in IPS auch bereit diese Arbeit zu übernehmen. (Es fehlen noch ein paar Kenntnisse!)

Meine Ergebnisse im weiteren:
Leider liefert die Somfy API nur wenige der bei mir als Anwendungsfall existierenden Devices und somit nur einen geringen Teil der gesamten Somfy Produktpalette. Folgende Devices werden derzeit unterstützt: https://developer.somfy.com/products-services-informations

  • Jalusien
  • Conected Thermostat
  • Rolladen
  • Kameras

Soweit die positive Nachricht. Negativ, soweit man dies von meinem Anwendungsfall aus betrachtet, ist die Tatsache, dass folgende bei mir integrierten Devices derzeit noch nicht unterstützt werden:

  • RTS-Markisen
  • RTS-Heitzstrahler
  • RTS-Licht
  • IO-Plug IO Funk-Zwischenstecker
  • IO-Öffnungsmelder Slim IO
  • IO-Öffnungsmelder IO
  • Somfy-Protect

Nach dieser Recherche bin ich somit etwas schlauer doch leider auch etwas unglücklicher. Zumindest habe ich die Somfy API studiert und an dem Connected Raumthermostaten und den Jalusien getestet. Der Rolladen folgt am Wochenende. So weit alles funktional. Da das Ergebnis bei mir jedoch nur 30 Prozent der Gesamtheit abdeckt bin ich also weiterhin auf der Suche nach einer Gesamtlösung. Mein derzeitiger Lösungsansatz für diese Aufgabenstellung ist letztendlich „nur“ das Parsen der Tahoma Webseiten. https://www.tahomalink.com/enduser-mobile-web/steer-html5-client/tahoma/
Ja, zugegeben, nicht die schönste Variante aber zumindest theoretisch eine, welche bereits erfolgreich implementiert wurde - wie die Referenz von Jxxxxm vorgibt. Die Implementierung ist hier auf Git Hub zu finden: https://github.com/redbug26/jeedom-tahoma

Da ich aus Eigeninteresse getrieben weiter an dem Thema dran bleibe, mich aber mit IPS derzeit noch nicht vertraut fühle und meine Programmierkenntnisse des Aufbaus bedürfen, möchte ich hier im Forum gerne fragen ob mir jemand kurz an einem Beispiel erläutern könnte, wie ich die Git Hub Referenz von Paresy ergänzen kann, damit die Variablen automatisch den Instanzen zugeordnet werden. Es würde mir dabei schon helfen, wenn ich einen Verweis auf ein Modul erhalte, bei welchem es ähnlich gemacht ist.

Für Eure Unterstützung meinen herzlichen Dank!

Gruß ICS

Das ist doch schon mal positiv wenn das so weit geht.

Na das ist ja erfreulich das Du Dich für Tests zur Verfügung stellst, denn ohne Hardware kann man ja auch nichts testen ;-).
Deinstalliere mal das bisherige Modul und gehe dann in den Modul Store und gib dort Tahoma ein. Dann bekommst Du auch in der Instanz eine Variable angelegt, siehe Zeile 52.

Die API habe ich nicht im Detail angeschaut. Es stellt sich also die Frage was ist mit welchem Gerätetyp an Steuerung möglich und welche Befehle werden daher benötigt. Du kannst da ja mal eine Auflistung machen welche Gerätetypen es gibt und was man dort an Befehlen benötigt bzw. überhaupt von der Somfy API unterstützt werden.

Das ist unbefriedigend, da kann aber nur der Hersteller Somfy was dran ändern, wenn dieser zwar eine API anbietet, mit der man dann aber am Schluss auch nicht alle Geräte steuern kann. Also da am besten den Hersteller direkt anschreiben mit der Frage ob andere Gerätetypen noch ergänzt werden…

Schreibe doch mal bitte pro Gerätetyp auf was dort an Befehlen unterstützt wird bzw. welche Variablen dann benötigt werden.

Wird denn RTS generell von der Tahoma Box unterstützt? Wenn nicht gibt es da zumindest auch andere Wege Somfy RTS aus IP-Symcon zu steuern mit anderen Gateways.

Das ist das Leid mit diesen Cloud APIs, die die Hersteller anbieten. Zumindest kann man wenn man die Variablen anlegt und die passenden Befehle aus IP-Symcon sendet, das was dokumentiert ist, auch ansteuern.

Wenn dann ist da ja an sich der Hersteller gefragt das er für die Geräte die dieser verkauft auch ein API Ansteuerung ermöglicht. Alles andere macht zumindest in einem Modul wenig Sinn oder müste man in einem separten Modul oder Skript abarbeiten. Das Modul selber würde also wohl nur die Funktionen nutzten die Somfy mit der API auch zur Verfügung stellt.

Du kannst ja mal Rückmeldung geben wie Du da mit zurecht kommst bzw. inwieweit Du es schaffst das mit IP-Symcon auszulesen. Wenn Du da fragen hast bzw. Hilfe brauchst solltest Du konkret fragen wo es hängt.

Siehe Zeile 52 da wird die Variable gesetzt.

Du erstellt Variablen mit registervariableinteger und setzt dann ein EnableAction damit die Variable sich auch im Webfront benutzten lässt. Anschließend muss noch mit RequestAction festgelegt werden welche Methode dann aufgerufen werden soll wenn ein Variablenwert ausgewählt wird.

Hallo Fonzo,
erst mal herzlichen Dank für Deine ausführlichen Antworten!!

Die API habe ich nicht im Detail angeschaut. Es stellt sich also die Frage was ist mit welchem Gerätetyp an Steuerung möglich und welche Befehle werden daher benötigt. Du kannst da ja mal eine Auflistung machen welche Gerätetypen es gibt und was man dort an Befehlen benötigt bzw. überhaupt von der Somfy API unterstützt werden.

Werde ich, so weit mir möglich auflisten.

Das ist unbefriedigend, da kann aber nur der Hersteller Somfy was dran ändern, wenn dieser zwar eine API anbietet, mit der man dann aber am Schluss auch nicht alle Geräte steuern kann. Also da am besten den Hersteller direkt anschreiben mit der Frage ob andere Gerätetypen noch ergänzt werden…

Wurde bereits getan - Antwort ausstehend

Schreibe doch mal bitte pro Gerätetyp auf was dort an Befehlen unterstützt wird bzw. welche Variablen dann benötigt werden.

Werde ich angehen

Wird denn RTS generell von der Tahoma Box unterstützt? Wenn nicht gibt es da zumindest auch andere Wege Somfy RTS aus IP-Symcon zu steuern mit anderen Gateways.

Ja, RTS wird generell von der Tahoma Box unterstützt. Als Alternatieve habe ich mir das Mediola AIO V5 Plus Gateway bestellt welches gestern ankam. Hierzu werde ich noch berichten. Das Einbinden der RTS Steuerungen auf der TaHoma Box verlief jedoch reibungslos. Alle RTS Devices wurden sauber erkannt und sind entsprechend sauber anzusteuern.

Wenn dann ist da ja an sich der Hersteller gefragt das er für die Geräte die dieser verkauft auch ein API Ansteuerung ermöglicht. Alles andere macht zumindest in einem Modul wenig Sinn oder müste man in einem separten Modul oder Skript abarbeiten. Das Modul selber würde also wohl nur die Funktionen nutzten die Somfy mit der API auch zur Verfügung stellt.

Hierzu mache ich gerade ein paar Tests um generell herauszufinden ob die wie bei Somfy angegebenen eindeutigen Device-IDs eventuell durch die API schon anzusteuern sind (undokumentiert) oder ob diese wirklich in Gänze noch nicht implementiert sind.

Mein derzeitiger Lösungsansatz für diese Aufgabenstellung ist letztendlich „nur“ das Parsen der Tahoma Webseiten. Overkiz - Universal HomeControl
Ja, zugegeben, nicht die schönste Variante aber zumindest theoretisch eine, welche bereits erfolgreich implementiert wurde - wie die Referenz von Jxxxxm vorgibt. Die Implementierung ist hier auf Git Hub zu finden: GitHub - redbug26/jeedom-tahoma
Du kannst ja mal Rückmeldung geben wie Du da mit zurecht kommst bzw. inwieweit Du es schaffst das mit IP-Symcon auszulesen. Wenn Du da fragen hast bzw. Hilfe brauchst solltest Du konkret fragen wo es hängt.

… Anmeldung funktioniert schon mal. Ich teste hierzu gerade mit Postman in wie weit ich die API richtig interpretieren kann.

Siehe Zeile 52 da wird die Variable gesetzt.
Du erstellt Variablen mit registervariableinteger und setzt dann ein EnableAction damit die Variable sich auch im Webfront benutzten lässt. Anschließend muss noch mit RequestAction festgelegt werden welche Methode dann aufgerufen werden soll wenn ein Variablenwert ausgewählt wird.

:slight_smile: DANKE!!!

Gruss ICS

Hallo,

ich habe das Tahoma Modul installiert, hat soweit funktioniert und auch gem. Dokumentation die Einrichtung nachvollzogen. Ich habe in Tahoma zwei verschiedene Produkte: einen Rolladen und eine Terrassenmarkise. Jetzt finde ich in der Konfigurator Instanz den Rolladen, der auch gesteuert werden kann, den Status aktualisiert etc… - nur leider taucht die Terrassenmarkise nicht auf. Kann es sein, dass das Modul auf bestimmte Produkttypen beschränkt ist?
Danke für eure Rückmeldung.

LG
Markus

Das Modul nimmt an sich das was die Somfy API meldet.

Was kommt denn bei Dir mit


$devices = TAHOMA_GetDevices($id); // $id Tahoma Configurator
var_dump($devices);

als Ausgabe?

ist da das Gerät vielleicht darunter?

Wenn nicht, fürchte ich das die API das Gerät nicht liefert warum auch immer. Dann müsstest Du mal bei Somfy direkt nachfragen warum genau das Gerät anscheinend nicht von der Somfy API zurückgemeldet wird.

Danke für die Rückmeldung. Dein Code liefert nur die gleichen Geräte die ich auch in der Konfigurator Instanz sehe. Ich werden mal bei Somfy nachfragen. Ich hoffe ich finde da jemanden, den ich fragen kann…

Hallo,
seit heute funktioniert bei mir das Tahoma Modul plötzlich nicht mehr. Es lassen sich keine Instanzen mehr aufrufen, es kommt bei allen (Discovery-Instanz, Konfigurator-Instanz) folgende Fehlermeldung: - kann mir da jemand weiterhelfen? Soll ich das Modul neu installieren?

Konnte Konfigurationsform nicht laden
<br />
<b>Warning</b>: <br />
<b>Warning</b>: file_get_contents(Method not allowed:slight_smile: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in <b>/mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php</b> on line <b>154</b><br />
<br />
<b>Fatal error</b>: Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php:156
Stack trace:
#0 /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php(156): json_decode(false)
#1 /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php(188): TaHomaCloud->FetchAccessToken()
#2 /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php(219): TaHomaCloud->GetData(‚https://api.som…‘)
#3 /-(3): TaHomaCloud->ForwardData(Object(stdClass))
#4 {main}
thrown in <b>/mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php</b> on line <b>156</b><br />
Abort Proc in <b>/mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php</b> on line <b>33</b><br />
<br />
<b>Fatal error</b>: Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php:33
Stack trace:
#0 /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php(33): json_decode(false)
#1 /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php(45): TaHomaDiscovery->GetSites()
#2 /-(3): TaHomaDiscovery->GetConfigurationForm()
#3 {main}
thrown in <b>/mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php</b> on line <b>33</b><br />
Abort Processing during Fatal-Error: Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php:33
Stack trace:
#0 /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php(33): json_decode(false)
#1 /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php(45): TaHomaDiscovery->GetSites()
#2 /-(3): TaHomaDiscovery->GetConfigurationForm()
#3 {main}
thrown
Error in Script /mnt/data/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaDiscovery/module.php on Line 33 (Code: -32603)

Du könntest versuchen den Account neu zu verbinden.

paresy

OK, danke wie mache ich das? - wenn ich die Discovery Instanz aufrufe, bekomme ich die obige Fehlermeldung, die kann ich nur bestätigen, dann schließt sich die Instanz wieder - ich habe keine Möglichkeit irgendetwas einzugeben. Wenn ich versuche eine neue Discovery Instanz anzulegen, habe ich das gleiche Verhalten.

Danke für eure Rückmeldungen!

Es müsste bei den I/Os oder beim Splitter noch eine TaHoma Cloud Instanz geben wenn ich mich recht entsinne.

Dort ist dann der „Register“ Knopf.

paresy

@paresy Bei deinem Modul?
Er nutzt das von Fonzo.
Michael

ja es gibt die Instanz bei Splitter - dort ist aber das gleiche Problem - sobald ich die Instanz öffne, kommt die Fehlermeldung, dann sind keine weiteren Aktionen möglich. - ich werde das Modul nochmal deinstallieren und neu einrichten, hoffe es läuft dann stabil.

Danke für die Hilfe!

Hallo,

ich nutze das Modul seit ein paar Tagen und es funktioniert für etliche Rolls und Jalousien an Dachflächenfenstern auch einwandfrei - super Sache. Ich habe aber auch nach etlichen Anläufen (deinstallieren, installieren, …) keinen Weg gefunden eine Markise einzubinden die in TaHoma ganz normal anzusteuern ist.

Gibt es einen Weg das Problem tiefer zu analysieren?

VG Christian

Du musst schon schreiben welches Modul du nutzt.
Es gibt ja zwei :slight_smile:
Michael

Oh ja. Stimmt… :slight_smile:

TaHoma von Fonzo in der Version 0.4 #4

VG Christian