Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Somfy Tahoma v0.3.x GitHub

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter Somfy Tahoma v0.3.x GitHub

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      blackeagle998 @SaschaS last edited by blackeagle998

      @saschas
      Der aus meiner Sicht einfachste Weg:

      1. LOG Parser Adapter installieren und im Reiter Parser-Regeln einen Eintrag "Tahoma" hinzufügen, siehe Screenshot letzte Zeile (WARN anhaken, bei Bedarf auch ERROR, Haken bei Merge raus, sonst werden gleiche Fehler zusammengefasst und der counter erhöht sich nicht):
        ad781247-cbc2-4840-82b1-ed15d2629f07-image.png

      2. In der Objektansicht erhält man dann folgende Struktur:
        7b8c0106-e4da-4fee-bd45-e37348350015-image.png

      3. Auf Änderungen des Datenpunktes 'logparser.0.filters.tahoma.jsonCount' subscriben. Wenn Anzahl größer x (hier 10), dann clear das JSON und führe die Funktion "restartTahomaAdapter" aus:

      on({id:'logparser.0.filters.tahoma.jsonCount', change:'ne'}, function (dp) {
      	if (dp.state.val >= 10){
      		setState('logparser.0.filters.tahoma.emptyJson', true);
      		restartTahomaAdapter();
      	}
      });
      
      function restartTahomaAdapter(){
          let adapter_id = 'system.adapter.tahoma.0';
          var obj = getObject(adapter_id);
          
          if (obj.common.enabled){
              obj.common.enabled = false;  // Adapter ausschalten
              setObject(adapter_id, obj);
              log('Tahoma Instanz ausgeschaltet.', 'info');
          }
          setTimeout(function(){
              obj.common.enabled = true;  // Adapter einschalten
              setObject(adapter_id, obj);
              log('Tahoma Instanz wieder eingeschaltet.', 'info');
          },10000);
      }
      

      Das lässt sich beliebig ausbauen, bspw. kann man pro Fehler genau eine LOG-Parser Regel anlegen und somit pro Fehler ein JSON erhalten.
      Mehr kann ich nicht liefern, meine Inhalte sind speziell auf meine Steuerung zugeschnitten, das würde hier nicht passen.

      S P 3 Replies Last reply Reply Quote 0
      • S
        SaschaS @blackeagle998 last edited by

        @blackeagle998 1000 Dank fürs sharen! Ich werde das heute Nachmittag direkt mal nachstellen und noch die Telegram-Nachricht-Funktion einbauen. 🙂

        1 Reply Last reply Reply Quote 0
        • P
          pfahlenbauer @blackeagle998 last edited by

          @blackeagle998 said in Test Adapter Somfy Tahoma v0.3.x GitHub:

          Ich hab das mal mit Deinem Skript versucht - aber leider klappt das bei mir nicht (muss auchzugeben, dass ich von Skripten wenig Ahnung habe).

          ich bekomme solche Fehlermeldungen:

          ccfa113c-0846-4645-ae71-762b35d2fd95-image.png

          392fba25-6c55-4fce-89b5-e1f15f28e259-image.png

          An was kann das liegen, was muss ich ändern?

          Danke!

          B 1 Reply Last reply Reply Quote 0
          • B
            blackeagle998 @pfahlenbauer last edited by

            @pfahlenbauer
            Zeig doch mal was du gebaut hast, sonst ist es leider ein Ratespiel.

            P 1 Reply Last reply Reply Quote 0
            • P
              pfahlenbauer @blackeagle998 last edited by

              @blackeagle998

              Ich habe nur Copy/Paste gemacht und die Einstellungen im Log Perser so gemacht wie in Deiner Anleitung:

              on({id:'logparser.0.filters.tahoma.jsonCount', change:'ne'}, function (dp) {
              if (dp.state.val >= 10){
              setState('logparser.0.filters.tahoma.emptyJson', true);
              restartTahomaAdapter();
              }
              }

              function restartTahomaAdapter(){
              let adapter_id = 'system.adapter.tahoma.0';
              var obj = getObject(adapter_id);

              if (obj.common.enabled){
                  obj.common.enabled = false;  // Adapter ausschalten
                   setObject(adapter_id, obj);
                   log('Tahoma Instanz ausgeschaltet.', 'info');
               }
               setTimeout(function(){
                   obj.common.enabled = true;  // Adapter einschalten
                   setObject(adapter_id, obj);
                   log('Tahoma Instanz wieder eingeschaltet.', 'info');
               },10000);
              

              }

              B 1 Reply Last reply Reply Quote 0
              • B
                blackeagle998 @pfahlenbauer last edited by

                @pfahlenbauer
                Hmm ich sehe da erstmal nichts problematisches.
                Kannst du noch die kompletten Log Fehler (alle und in code tags) posten?

                P 1 Reply Last reply Reply Quote 0
                • P
                  pfahlenbauer @blackeagle998 last edited by

                  @blackeagle998

                  Das sieht so aus:

                  avascript.0	2021-03-25 23:12:18.353	error	(30416) at process.topLevelDomainCallback (domain.js:126:23)
                  javascript.0	2021-03-25 23:12:18.353	error	(30416) at processImmediate (timers.js:658:5)
                  javascript.0	2021-03-25 23:12:18.353	error	(30416) at tryOnImmediate (timers.js:676:5)
                  javascript.0	2021-03-25 23:12:18.353	error	(30416) at runCallback (timers.js:706:11)
                  javascript.0	2021-03-25 23:12:18.353	error	(30416) at Immediate.adapter.getForeignState [as _onImmediate] (/opt/iobroker/node_modules/iobroker.javascript/main.js:1281:17)
                  javascript.0	2021-03-25 23:12:18.352	error	(30416) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1791:17)
                  javascript.0	2021-03-25 23:12:18.352	error	(30416) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1690:37)
                  javascript.0	2021-03-25 23:12:18.352	error	(30416) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1443:28)
                  javascript.0	2021-03-25 23:12:18.352	error	(30416) at Object.createScript (vm.js:277:10)
                  javascript.0	2021-03-25 23:12:18.352	error	(30416) at new Script (vm.js:83:7)
                  javascript.0	2021-03-25 23:12:18.352	error	(30416) SyntaxError: missing ) after argument list
                  javascript.0	2021-03-25 23:12:18.351	error	(30416) ^
                  javascript.0	2021-03-25 23:12:18.351	error	(30416) }
                  javascript.0	2021-03-25 23:12:18.351	error	at script.js.TaHoMa_Log_Perser_Skript:7
                  javascript.0	2021-03-25 23:12:18.351	error	(30416) script.js.TaHoMa_Log_Perser_Skript compile failed:
                  
                  B 1 Reply Last reply Reply Quote 0
                  • B
                    blackeagle998 @pfahlenbauer last edited by

                    @pfahlenbauer
                    Da war ich wohl zu doof beim kopieren, Klammer vergessen, habe es oben korrigiert und hier auch nochmal (die Funktion danach muss natürlich bleiben) :

                    on({id:'logparser.0.filters.tahoma.jsonCount', change:'ne'}, function (dp) {
                    	if (dp.state.val >= 10){
                    		setState('logparser.0.filters.tahoma.emptyJson', true);
                    		restartTahomaAdapter();
                    	}
                    });
                    
                    P 1 Reply Last reply Reply Quote 0
                    • P
                      pfahlenbauer @blackeagle998 last edited by

                      @blackeagle998

                      Super, danke - läuft!

                      MichaelSc 1 Reply Last reply Reply Quote 1
                      • MichaelSc
                        MichaelSc @pfahlenbauer last edited by

                        Hi, ab und an habe ich auch genau diese Probleme.
                        Zitat: "Stehe derzeit vor dem gleichen Problem. Die Steuerung per App funktioniert 1a, nur das Modul hier wirft ständig Fehler bzgl. des Logins." - leider muss ich mich dem anschließen.
                        tahomalink.com lässt mein Login dann auch nicht mehr zu, falsches PW, also eher: Ausgesperrt.
                        Ein Anruf letztens bei der Somfy-Hotline ergab: Zuviele Abrufe, setzen Sie mal den Polling-Wert höher. Dabei steht der bei mir schon auf "2400000".
                        Bedienung der Geräte über die Tahoma-App funktioniert natürlich, denn ich vermute mal, diese App spricht mit der Tahoma-Zentrale und geht nicht übers Internet.
                        Aber der Adapter kann sich nun dann nicht mehr verbinden.
                        Jetzt muss ich mich wohl wieder um eine telefonische Entsperrung kümmern (heute geht keiner ans Telefon wegen einer internen Veranstaltung dort).
                        Was ist denn nun der Königsweg hier: Nachts den Adapter abschalten? Per Script überwachen und bei Fehlern im Bereich 400 neu starten? Das sind doch eigentlich alles nur Workarounds.

                        Übrigens: Im AppleHome(Kit) sind die Tahoma-Jalousien alle enthalten und dort funktionieren sie auch. Nachdem Somfy sich wohl Apple gegenüber geöffnet hat, hat man die Geräte in AppleHome auch zur Verfügung und da besteht das Login-Problem nicht. Vermutlich, weil AppleHome direkt auf die Tahoma-Zentrale hier zugreift?!? Wenn ich jetzt den AppleHome-Tahoma-Button aus IOBroker betätigen könnte, dann hätte ich auch keine Probleme mehr.
                        Aber...
                        Was hilft wirklich gegen dies:

                        tahoma.0 2021-03-26 08:35:59.081 info (29905) Login failed three times, waiting 2 minutes before retrying.
                        tahoma.0 2021-03-26 08:35:59.080 warn (29905) error during tahomalink request: undefined ->401 retry login
                        (=ausgesperrt)

                        LG
                        M

                        1 Reply Last reply Reply Quote 0
                        • S
                          SaschaS @blackeagle998 last edited by

                          @blackeagle998

                          Ich habe noch Anlaufschwierigkeiten mit dem setObject(). Wo muss ich denn die Rechte(?) dafür vergeben?

                          javascript.0	2021-03-26 14:17:52.194	info	(2198) script.js.Tahoma.Restart_Tahoma: Tahoma Instanz wieder eingeschaltet.
                          javascript.0	2021-03-26 14:17:52.194	error	(2198) Function "setObject" is not allowed. Use adapter settings to allow it.
                          javascript.0	2021-03-26 14:17:42.191	info	(2198) script.js.Tahoma.Restart_Tahoma: Tahoma Instanz ausgeschaltet.
                          javascript.0	2021-03-26 14:17:42.191	error	(2198) Function "setObject" is not allowed. Use adapter settings to allow it.
                          

                          8f726374-ceda-4d00-8253-bf6dbfd96d0b-image.png

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            blackeagle998 @SaschaS last edited by

                            @saschas
                            Das musst du in den Einstellungen der Javascript Instanz aktivieren, ich meine es ist direkt auf der ersten Seite unten.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SaschaS @blackeagle998 last edited by

                              @blackeagle998 Du warst du schnell - oder ich zu langsam. Wollte beim Post schon löschen...
                              Hab im Tahoma und Logparser Adapter gesucht. Muss aber natürlich beim Javascript-Adapter schauen.
                              Gefunden. 🙂

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                SaschaS @SaschaS last edited by

                                @blackeagle998 Vielleicht kannst du aber in deinem Post für die Nachwelt noch aufnehmen, dass es der Haken bei "Merge" nicht unbedingt gesetzt werden sollte.

                                Für den nachstehende Fall erhöht sich nämlich sonst der Counter nie.

                                tahoma.0	2021-03-26 14:38:13.208	info	(18402) Login failed three times, waiting 2 minutes before retrying.
                                tahoma.0	2021-03-26 14:38:13.208	warn	(18402) error during tahomalink request: undefined ->401 retry login
                                tahoma.0	2021-03-26 14:36:13.093	info	(18402) Login failed three times, waiting 2 minutes before retrying.
                                tahoma.0	2021-03-26 14:36:13.091	warn	(18402) error during tahomalink request: undefined ->401 retry login
                                tahoma.0	2021-03-26 14:34:12.940	info	(18402) Login failed three times, waiting 2 minutes before retrying.
                                tahoma.0	2021-03-26 14:34:12.939	warn	(18402) error during tahomalink request: undefined ->401 retry login
                                tahoma.0	2021-03-26 14:34:12.800	warn	(18402) error during tahomalink request: undefined ->401 retry login
                                tahoma.0	2021-03-26 14:34:12.651	warn	(18402) error during tahomalink request: undefined ->401 retry login
                                tahoma.0	2021-03-26 14:34:12.509	warn	(18402) error during tahomalink request: undefined ->401 retry login
                                tahoma.0	2021-03-26 14:34:12.383	warn	(18402) error during tahomalink request: undefined ->401 retry login
                                tahoma.0	2021-03-26 14:34:12.010	info	(18402) [INFO] Configured polling interval: 10000
                                tahoma.0	2021-03-26 14:34:12.006	info	(18402) [START] Starting adapter tahoma v0.3.3.3
                                tahoma.0	2021-03-26 14:34:11.906	info	(18402) starting. Version 0.3.3 in /opt/iobroker/node_modules/iobroker.tahoma, node: v12.16.3, js-controller: 3.1.4
                                

                                @blackeagle998 said in Test Adapter Somfy Tahoma v0.3.x GitHub:

                                @saschas
                                Der aus meiner Sicht einfachste Weg:

                                1. LOG Parser Adapter installieren und im Reiter Parser-Regeln einen Eintrag "Tahoma" hinzufügen, siehe Screenshot letzte Zeile (WARN anhaken, bei Bedarf auch ERROR):
                                  ad781247-cbc2-4840-82b1-ed15d2629f07-image.png

                                2. In der Objektansicht erhält man dann folgende Struktur:
                                  7b8c0106-e4da-4fee-bd45-e37348350015-image.png

                                3. Auf Änderungen des Datenpunktes 'logparser.0.filters.tahoma.jsonCount' subscriben. Wenn Anzahl größer x (hier 10), dann clear das JSON und führe die Funktion "restartTahomaAdapter" aus:

                                on({id:'logparser.0.filters.tahoma.jsonCount', change:'ne'}, function (dp) {
                                	if (dp.state.val >= 10){
                                		setState('logparser.0.filters.tahoma.emptyJson', true);
                                		restartTahomaAdapter();
                                	}
                                });
                                
                                function restartTahomaAdapter(){
                                    let adapter_id = 'system.adapter.tahoma.0';
                                    var obj = getObject(adapter_id);
                                    
                                    if (obj.common.enabled){
                                        obj.common.enabled = false;  // Adapter ausschalten
                                        setObject(adapter_id, obj);
                                        log('Tahoma Instanz ausgeschaltet.', 'info');
                                    }
                                    setTimeout(function(){
                                        obj.common.enabled = true;  // Adapter einschalten
                                        setObject(adapter_id, obj);
                                        log('Tahoma Instanz wieder eingeschaltet.', 'info');
                                    },10000);
                                }
                                

                                Das lässt sich beliebig ausbauen, bspw. kann man pro Fehler genau eine LOG-Parser Regel anlegen und somit pro Fehler ein JSON erhalten.
                                Mehr kann ich nicht liefern, meine Inhalte sind speziell auf meine Steuerung zugeschnitten, das würde hier nicht passen.

                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  blackeagle998 @SaschaS last edited by

                                  @saschas
                                  Erledigt, danke für den Hinweis.

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pfahlenbauer last edited by

                                    Hat schon jemand eine Idee zu der neuen warn Meldung seit dem letzten Box Update?

                                    
                                    tahoma.0	2021-03-27 13:40:11.362	warn	(2032) State "tahoma.0.devices.Laura_rechts.states.io:PriorityLockLevelState" has no existing object, this might lead to an error in future versions
                                    tahoma.0	2021-03-27 13:40:11.362	warn	(2032) State "tahoma.0.devices.Laura_rechts.states.io:PriorityLockOriginatorState" has no existing object, this might lead to an error in future versions
                                    

                                    Jetzt habe ich zwar blackeagle998's Skript erfolgreich aktiviert, aber mit dieser neuen Meldung, die alle 2 Minuten kommt, würde der Adapter ja alle 10 Minuten neu gestartet werden...

                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      blackeagle998 @pfahlenbauer last edited by blackeagle998

                                      @pfahlenbauer
                                      Dann setz doch diese Meldung auf die Blacklist in der Logparser Config. Somit erscheint die nicht mehr im JSON.

                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        pfahlenbauer @blackeagle998 last edited by

                                        @blackeagle998
                                        Danke, gute Idee.

                                        1 Reply Last reply Reply Quote 1
                                        • S
                                          SaschaS @derdominik last edited by

                                          @derdominik said in Test Adapter Somfy Tahoma v0.3.x GitHub:

                                          Hallo, ich habe heute den jscontroller aktualisiert und seit dem kommt bei jedem Status-Refresh folgende WARN-Meldungen:

                                          State "tahoma.0.devices.Studio_1.states.io:PriorityLockLevelState" has no existing object, this might lead to an error in future versions
                                          State "tahoma.0.devices.Studio_1.states.io:PriorityLockOriginatorState" has no existing object, this might lead to an error in future versions
                                          

                                          Hat jemand eine Idee wie ich die Meldungen wegbekomme?

                                          Gibt es dazu schon etwas neues? Habt ihr die Objekte von Hand angelegt, damit die Warnmeldungen verschwinden?

                                          Alexandre Mariet 1 Reply Last reply Reply Quote 0
                                          • Alexandre Mariet
                                            Alexandre Mariet @SaschaS last edited by

                                            @saschas

                                            Du kannst direkt im Code selber korrigieren : https://github.com/StrathCole/ioBroker.tahoma/issues/17
                                            Hat bei mir geklappt.

                                            mghomedev created this issue in StrathCole/ioBroker.tahoma

                                            closed No commands created for shutter blinds due to nparams being 1 instead of 0 in updateDevice #17

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            768
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            rollladensteuerung somfy tahoma
                                            34
                                            294
                                            36400
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo