Modul Somfy TaHoma

Wenn Du in der Webconsole die Instanz öffnest und dort das Debug Fenster (Käfer), steht da irgendwas wenn Du einen Befehl absetzt?

Die TaHoma Box ist an sich eher dann sinnvoll wenn Du Somfy io Home Control nutzten willst, das ist nämlich verschlüsselt und lässt sich sonst nicht mit anderen Gateways nutzten. Wenn Du gar kein io HomeControl besitzt sondern lediglich ausschließlich alte RTS Rollläden, hätte es theoretisch auch ein anderes Gateway wie z.B. ein AIO Gateway V5 oder AIO Gateway V6 getan, das kann auch Somfy RTS ansteuern.

Aber wenn Du nun schon mal die TaHoma Box besitzt, sollten wir mal schauen ob man da nicht eine Lösung findet.

Hi, in der Instanz des Rolladens oder der Cloud Instanz ?
Hätte ich das gewusst hätt ich mir das tahoma Ding nicht gekauft. :banghead:

Beobachtet habe ich:

  • der schließen Befehl wird fast direkt ausgeführt,
  • der öffnen Befehl dauert circa 20 sekunden dann passiert etwas
  • beim Stop Befehl passiert nichts, wobei dies natürlich bei der Laufzeit auch einfach untergehen kann. Der Rolladen ist schon unten oder oben dann kommt der Stop Befehl an (ist aber eine Vermutung)
    Wenn ich über die tahoma App gehe, dann reagieren die Motoren relativ direkt auf alle Befehle. Also am Funk kann es demnach nicht liegen.

Hier aus Debug aus der Cloud Instanz.
TXT: 16.11.2020, 16:31:48 | ForwardData | /v1/device/04542942-a87f5c4d-236af851-728d18fe/exec, Payload: {„name“:„stop“,„parameters“:}
HEX: 16.11.2020, 16:31:48 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 30 34 35 34 32 39 34 32 2D 61 38 37 66 35 63 34 64 2D 32 33 36 61 66 38 35 31 2D 37 32 38 64 31 38 66 65 2F 65 78 65 63 2C 20 50 61 79 6C 6F 61 64 3A 20 7B 22 6E 61 6D 65 22 3A 22 73 74 6F 70 22 2C 22 70 61 72 61 6D 65 74 65 72 73 22 3A 5B 5D 7D
TXT: 16.11.2020, 16:31:48 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:31:48 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:31:59 | ForwardData | /v1/device/04542942-a87f5c4d-236af851-728d18fe/exec, Payload: {„name“:„close“,„parameters“:}
HEX: 16.11.2020, 16:31:59 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 30 34 35 34 32 39 34 32 2D 61 38 37 66 35 63 34 64 2D 32 33 36 61 66 38 35 31 2D 37 32 38 64 31 38 66 65 2F 65 78 65 63 2C 20 50 61 79 6C 6F 61 64 3A 20 7B 22 6E 61 6D 65 22 3A 22 63 6C 6F 73 65 22 2C 22 70 61 72 61 6D 65 74 65 72 73 22 3A 5B 5D 7D
TXT: 16.11.2020, 16:31:59 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:31:59 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:33:13 | ForwardData | /v1/device/04542942-a87f5c4d-236af851-728d18fe/exec, Payload: {„name“:„close“,„parameters“:}
HEX: 16.11.2020, 16:33:13 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 30 34 35 34 32 39 34 32 2D 61 38 37 66 35 63 34 64 2D 32 33 36 61 66 38 35 31 2D 37 32 38 64 31 38 66 65 2F 65 78 65 63 2C 20 50 61 79 6C 6F 61 64 3A 20 7B 22 6E 61 6D 65 22 3A 22 63 6C 6F 73 65 22 2C 22 70 61 72 61 6D 65 74 65 72 73 22 3A 5B 5D 7D
TXT: 16.11.2020, 16:33:13 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:33:13 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:33:30 | ForwardData | /v1/device/04542942-a87f5c4d-236af851-728d18fe/exec, Payload: {„name“:„stop“,„parameters“:}
HEX: 16.11.2020, 16:33:30 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 30 34 35 34 32 39 34 32 2D 61 38 37 66 35 63 34 64 2D 32 33 36 61 66 38 35 31 2D 37 32 38 64 31 38 66 65 2F 65 78 65 63 2C 20 50 61 79 6C 6F 61 64 3A 20 7B 22 6E 61 6D 65 22 3A 22 73 74 6F 70 22 2C 22 70 61 72 61 6D 65 74 65 72 73 22 3A 5B 5D 7D
TXT: 16.11.2020, 16:33:30 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:33:30 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:33:44 | ForwardData | /v1/site/a5fe24d8-e50bfffb-40559b7b-275531bb/device
HEX: 16.11.2020, 16:33:44 | ForwardData | 2F 76 31 2F 73 69 74 65 2F 61 35 66 65 32 34 64 38 2D 65 35 30 62 66 66 66 62 2D 34 30 35 35 39 62 37 62 2D 32 37 35 35 33 31 62 62 2F 64 65 76 69 63 65
TXT: 16.11.2020, 16:33:44 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:33:44 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:33:51 | ForwardData | /v1/device/04542942-a87f5c4d-236af851-728d18fe/exec, Payload: {„name“:„stop“,„parameters“:}
HEX: 16.11.2020, 16:33:51 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 30 34 35 34 32 39 34 32 2D 61 38 37 66 35 63 34 64 2D 32 33 36 61 66 38 35 31 2D 37 32 38 64 31 38 66 65 2F 65 78 65 63 2C 20 50 61 79 6C 6F 61 64 3A 20 7B 22 6E 61 6D 65 22 3A 22 73 74 6F 70 22 2C 22 70 61 72 61 6D 65 74 65 72 73 22 3A 5B 5D 7D
TXT: 16.11.2020, 16:33:51 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:33:51 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:34:29 | ForwardData | /v1/device/963b78a5-3cc88708-07c636a8-78103a16
HEX: 16.11.2020, 16:34:29 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 39 36 33 62 37 38 61 35 2D 33 63 63 38 38 37 30 38 2D 30 37 63 36 33 36 61 38 2D 37 38 31 30 33 61 31 36
TXT: 16.11.2020, 16:34:29 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:34:29 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:34:34 | ForwardData | /v1/device/963b78a5-3cc88708-07c636a8-78103a16/exec, Payload: {„name“:„close“,„parameters“:}
HEX: 16.11.2020, 16:34:34 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 39 36 33 62 37 38 61 35 2D 33 63 63 38 38 37 30 38 2D 30 37 63 36 33 36 61 38 2D 37 38 31 30 33 61 31 36 2F 65 78 65 63 2C 20 50 61 79 6C 6F 61 64 3A 20 7B 22 6E 61 6D 65 22 3A 22 63 6C 6F 73 65 22 2C 22 70 61 72 61 6D 65 74 65 72 73 22 3A 5B 5D 7D
TXT: 16.11.2020, 16:34:34 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:34:34 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30
TXT: 16.11.2020, 16:34:45 | ForwardData | /v1/device/963b78a5-3cc88708-07c636a8-78103a16/exec, Payload: {„name“:„stop“,„parameters“:}
HEX: 16.11.2020, 16:34:45 | ForwardData | 2F 76 31 2F 64 65 76 69 63 65 2F 39 36 33 62 37 38 61 35 2D 33 63 63 38 38 37 30 38 2D 30 37 63 36 33 36 61 38 2D 37 38 31 30 33 61 31 36 2F 65 78 65 63 2C 20 50 61 79 6C 6F 61 64 3A 20 7B 22 6E 61 6D 65 22 3A 22 73 74 6F 70 22 2C 22 70 61 72 61 6D 65 74 65 72 73 22 3A 5B 5D 7D
TXT: 16.11.2020, 16:34:45 | FetchAccessToken | OK! Access Token is valid until 16.11.20 17:19:00
HEX: 16.11.2020, 16:34:45 | FetchAccessToken | 4F 4B 21 20 41 63 63 65 73 73 20 54 6F 6B 65 6E 20 69 73 20 76 61 6C 69 64 20 75 6E 74 69 6C 20 31 36 2E 31 31 2E 32 30 20 31 37 3A 31 39 3A 30 30

Danke
Viele Grüße
Mario

Hallo,

hat schon jemand diesen Fehler gehabt.
Die Installation lief ohne Probleme erst bei der Registrierung in der TaHoma Cloud kommt folgende Fehlermeldung,
siehe Anhang.
Symcon Connect ist verfügbar, mit den Anmeldedaten von Somfy kann ich mich normal anmelden und sehe dort auch alle Geräte.

Hardware --> Symbox --> Software ist aktuell (Stable).

VG
Ralf

Hallo ich habe den gleichen Fehler - heute bei der Tahoma Box das Update eingespielt, dann keine Verbindung mehr möglich über das Symcon Tahoma Modul. - Direkt über die Tahoma Seite klappt es ohne Probleme.
Ich vermute da hat Somfy was an der API verändert, vielleicht kann sich das einer der Entwickler mal anschauen?

Hallo,

an der api wurden aktuell keine Änderungen vorgenommen laut der Webseite, kann dieses eventuell
am Connect Control liegen.

VG
Ralf Schneider

Hallo Fonzo,

hast Du noch eine Idee was ich noch Testen könnte um den Fehler einzugrenzen?

VG
Ralf

Hallo Fonzo,

bin jetzt ein Stück weitergekommen, das erste lag an der Firewall vom Windows-PC.
Jetzt konnte ich mich bei Somfy registrieren und es kam „Somfy successfully connected!“.
Nach schließen des Fensters kommt dann folgende Fehlermeldung:

Konnte Konfigurationsform nicht laden
<br />
<b>Fatal error</b>:  Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php:239
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php(239): json_decode(false)
#1 /-(3): TaHomaCloud->GetConfigurationForm()
#2 {main}
  thrown in <b>/var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php</b> on line <b>239</b><br /> (Code: -32603)

Habe die Installation über die Pro-Konsole auf Windows sowie auf den Mac durchgeführt, jedes Mal die selbe Fehlermeldung.

Was kann jetzt noch tun?

VG
Ralf

Hallo paresy , hallo Fonzo,

es gibt dieses Modul ja einmal unter github/paresy/TaHoma und über den Modulstore.
Jedoch kommt bei beiden beim Laden des Konfigurationform folgende Fehlermeldung.


Konnte Konfigurationsform nicht laden
<br />
<b>Warning</b>:  file_get_contents(https://api.somfy.com/api/v1/site): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
 in <b>/var/lib/symcon/modules/TaHoma/TaHomaCloud/module.php</b> on line <b>188</b><br />
<br />
<b>Fatal error</b>:  Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /var/lib/symcon/modules/TaHoma/TaHomaCloud/module.php:234
Stack trace:
#0 /var/lib/symcon/modules/TaHoma/TaHomaCloud/module.php(234): json_decode(false)
#1 /-(3): TaHomaCloud->GetConfigurationForm()
#2 {main}
  thrown in <b>/var/lib/symcon/modules/TaHoma/TaHomaCloud/module.php</b> on line <b>234</b><br /> (Code: -32603)
integer InstanceID, hint
Diese Aktion sollte eine Webseite geöffnet haben. Falls dies nicht geschehen ist, prüfen Sie bitte ihre Einstellungen und erlauben das Öffnen von Webseiten.

Habe im Modul TahomaCloud unter GetConfigurationForm bei


$result = json_decode(@$this->GetData($this->apiURL . '/v1/site'));

das @ entfenrnt.
Dann wurde die obige Fehlermeldung mit ausgegeben : HTTP request failed! HTTP/1.1 401 Unauthorized.

Kann mir jemand weiterhelfen?

VG
Ralf

TaHoma ist wohl von Somfy.

Was gibt es da eigentlich an Modulen, ich habe mich noch nicht damit beschäftigt.

Mir war Somfy immer zu teuer.

Gruß
Bernd

Hallo Paresy,

bin jetzt weitergekommen, weshalb die Installation des Modul(Tahoma) aus den Store bzw. welches Du mal erstellt hast nicht funktionieren.

Es sieht so aus, dass der falsche Token bei der Abfrage über den Connect Dienst gesetzt wird, als ob die Zuordnung nicht stimmt.

 $result = file_get_contents('https://oauth.ipmagic.de/access_token/' . $this->oauthIdentifer, false, $context);

<?php

$url='https://api.somfy.com/api/v1/site';
//$token='YWQ3MjhjNjc4ZDNhNzMwNWEyOWI4Y2MzMTM4ZjA2MzMyNmEyNTE2NjZkMDc4ZTg1YTQyNjc4OWJlYzgwOGJkZA'; //Token aus IP-Symcon verwendet
$token='MzZkOTk2NWZlMmUxNWE5M2NhYzQ1ODVkZmFlMDA1ZDE3MGMwODcwODVlMDI3NzQ4MzM4NWJlNjZkOWUwYzVjZg'; //Token welche auf der Seite von Somfy unter der Apis Documentation generiert wird
$opts = [
            'http'=> [
                'header' => 'Authorization: Bearer '. $token. "
" . 'Content-Type: application/x-www-form-urlencoded' . "
",
                'method' => 'GET'
            ]
        ];
        $context = stream_context_create($opts);
       $ret =  file_get_contents($url, false, $context);
       print_r($ret);
/* --Fehler --> Token wird vom Modul verwendet ---
       Warning:  fopen(https://api.somfy.com/api/v1/site): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
       in /var/lib/symcon/scripts/10951.ips.php on line 19 
       
       Führe ich  dieses direkt auf dem Raspberry aus
       curl -X GET --header "Content-Type: " --header "Authorization: Bearer YWQ3MjhjNjc4ZDNhNzMwNWEyOWI4Y2MzMTM4ZjA2MzMyNmEyNTE2NjZkMDc4ZTg1YTQyNjc4OWJlYzgwOGJkZA" "https://api.somfy.com/api/v1/site"
       {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_access_token"}}}[/b]
       */
/*  -- 

/*  -- Ausführung OK Token wird von der Somfy Seite verwendet welcher unter Apis Documentation generiert wird
    [{"id":"58335exx-211e9exx-316fc5xx-de7131xx","label":"TaHoma"}]
    
*/

VG
Ralf

Hallo,

ich komme jetzt einen Schritt weiter, aber die Webseite bringt nach Eingabe der Login-Daten folgende Fehlermeldung:

{„error“:„redirect_uri_mismatch“,„error_description“:„The redirect URI provided does not match registered URI(s).“}

Leider scheint der OAuth Endpunkt defekt gewesen zu sein. Ich habe mal mein Modul angepasst, sodass es einen neuen somfy_dev Endpunkt nutzt und nun geht es: GitHub - paresy/TaHoma: Somfy TaHoma

Ihr könnte somit mein „simples“ Modul nutzen, bis @Fonzo seine entsprechend angepasst hat, oder ich herausgefunden habe, warum der normale Endpoint nicht mehr geht.

paresy

Also ich bekomme bei Somfy ebenfalls eine Fehlermeldung…

Konnte Konfigurationsform nicht laden
<br />
<b>Warning</b>: <br />
<b>Warning</b>: file_get_contents(https://api.somfy.com/api/v1/site/14d6d296-633311ff-a9072f38-6ef66ef3/device): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
in <b>/var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaCloud/module.php</b> on line <b>193</b><br />
RESULT: in <b>/var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaConfigurator/module.php</b> on line <b>39</b><br />
<br />
<b>Fatal error</b>: Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaConfigurator/module.php:39
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaConfigurator/module.php(39): json_decode(false)
#1 /var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaConfigurator/module.php(54): TaHomaConfigurator->GetDevices()
#2 /-(3): TaHomaConfigurator->GetConfigurationForm()
#3 {main}
thrown in <b>/var/lib/symcon/modules/.store/fonzo.ipsymcontahoma/TaHomaConfigurator/module.php</b> on line <b>39</b><br /> (Code: -32603)

D.h. ich muss warten bis Fonzo das Modul gefixt hat? Weil steuern etc. meiner Rolladen funktioniert nicht.

Hallo enJOyIT,

bis Fonzo das im Modul geändert hat, könntest Du die Änderung lokal durchführen.
Im Modul TaHomaCloud folgendes ändern:
1.

private $oauthIdentifer = 'somfy'; ändern in private $oauthIdentifer = 'somfy_dev'; 

  1. hier mus "ignore_errors hinzugefügt werden, so war es bei dem Modul von paresy
$options = [
                'http' => [
                    'header'  => "Content-Type: application/x-www-form-urlencoded
",
                    'method'  => 'POST',
                    'content' => http_build_query(['refresh_token' => $this->ReadAttributeString('Token')]),
                    'ignore_errors' => true
                ]
            ]; 

Bei mir hat es dann funktioniert, jedoch solltest Du nach der Änderung kein Update des Moduls durchführen bis es gefixt wurde.

VG
Ralf

Gehts hier eigentlich noch weiter? :wink:

Hallo,

ich bin recht neu bei IPS, habe das gleiche Problem/Fehlermeldungen mit dem TaHoma Modul von Fonzo. Schon alle Hausmittelchen wie reboot, Moduldeinstallation/-installation und Betakanal probiert - ohne Erfolg.

Ich habe leider keine Ahnung, wie ich (PHP-)Änderungen an einem Modul wie dem TaHoma Cloud-Modul vornehmen kann. Kann mir hier bitte jemand auf die Sprünge helfen? Vielleicht reicht ja ein Link irgendwohin. Danke! :slight_smile:

Viele Grüße, Teich

Hallo Teich,

mit Telnet sich auf der Symbox anmelden.
Dann

  1. cd /var/lib/symcon/modules/.store
  2. cd fonzo.ipsymcontahoma
  3. cd TaHomaCloud
  4. vi module.php zum editieren öffnen

Die Änderungen stehen im Post weiter unten.

VG
Ralf

Klasse! Vielen Dank, Ralf :slight_smile:

FYI: Ich konnte dank Ralfs Hilfe die module.php zwar anpassen, die Fehlermeldungen in den Instanzen „TaHoma Cloud“ und „TaHoma Discovery“ blieben aber bestehen, wenn man sie öffnen will.

Auch ein Reboot von IPS und SymBox brachte nichts, ebensowenig ein Reinstallieren der Instanzen.

Bleibt mir wohl nur zu warten, bis Fonzo sein Modul aktualisiert hat oder ein anderes funktionsfähiges Modul es in den Store schafft. :frowning:

Hatte mir IP-Symcon und SymBox ehrlich gesagt zugelegt, weil ich die Hoffnung hatte, Zeit zu sparen und weniger Bastelei und Coding als bei freien Hausautomatisierungslösungen zu haben…

Da bei dem TaHoma-Modul von @Fonzo scheinbar vorerst keine Anpassungen absehbar sind - wie binde ich denn Dein Modul in IPS ein, paresy? Es ist ja im Store wohl nicht gelistet und ich habe bisher keine Anleitung gefunden, wie man Module händisch in IPS bringt.

Ich weiß, noob-Frage, aber bitte um Nachsicht… :innocent:

Danke und viele Grüße
teicheins