Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Somfy Tahoma v0.3.x GitHub

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Test Adapter Somfy Tahoma v0.3.x GitHub

Scheduled Pinned Locked Moved Tester
somfytahomarollladensteuerung
294 Posts 34 Posters 51.4k Views 33 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D derdominik

    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?

    D Offline
    D Offline
    derdominik
    wrote on last edited by
    #270

    Gerade gesehen dass es dafür schon ein Ticket gibt: https://github.com/StrathCole/ioBroker.tahoma/issues/19

    1 Reply Last reply
    0
    • B blackeagle998

      @master-rudi
      Hi,
      als Ansatz für eine Erweiterung:
      Ich habe den logparser Adapter und werte das Log hinsichtlich Tahoma Fehlermeldungen aus. Wenn die mehrfach hintereinander kommen, starte ich den Adapter neu.
      Hat bisher zumindest funktioniert.

      S Offline
      S Offline
      SaschaS
      wrote on last edited by
      #271

      @blackeagle998 Ich nehme mal an, du lässt den Adpater neustarten und machst das nicht manuell.
      Magst du dein Skript bitte mit uns teilen?

      B 1 Reply Last reply
      0
      • S SaschaS

        @blackeagle998 Ich nehme mal an, du lässt den Adpater neustarten und machst das nicht manuell.
        Magst du dein Skript bitte mit uns teilen?

        B Offline
        B Offline
        blackeagle998
        wrote on last edited by blackeagle998
        #272

        @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
        0
        • B 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 Offline
          S Offline
          SaschaS
          wrote on last edited by
          #273

          @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
          0
          • B 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.

            P Offline
            P Offline
            pfahlenbauer
            wrote on last edited by
            #274

            @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
            0
            • P pfahlenbauer

              @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 Offline
              B Offline
              blackeagle998
              wrote on last edited by
              #275

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

              P 1 Reply Last reply
              0
              • B blackeagle998

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

                P Offline
                P Offline
                pfahlenbauer
                wrote on last edited by
                #276

                @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
                0
                • P pfahlenbauer

                  @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 Offline
                  B Offline
                  blackeagle998
                  wrote on last edited by
                  #277

                  @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
                  0
                  • B blackeagle998

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

                    P Offline
                    P Offline
                    pfahlenbauer
                    wrote on last edited by
                    #278

                    @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
                    0
                    • P pfahlenbauer

                      @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 Offline
                      B Offline
                      blackeagle998
                      wrote on last edited by
                      #279

                      @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
                      0
                      • B blackeagle998

                        @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 Offline
                        P Offline
                        pfahlenbauer
                        wrote on last edited by
                        #280

                        @blackeagle998

                        Super, danke - läuft!

                        MichaelScM 1 Reply Last reply
                        1
                        • P pfahlenbauer

                          @blackeagle998

                          Super, danke - läuft!

                          MichaelScM Offline
                          MichaelScM Offline
                          MichaelSc
                          wrote on last edited by
                          #281

                          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

                          iOBroker (and the other stuff) on a Proxmox Installation on an Intel NUC10.
                          IoT: Discarded Zigbee-System and all the hardware related to Zigbee; replaced with HomeMatic IP - very reliable.

                          1 Reply Last reply
                          0
                          • B 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 Offline
                            S Offline
                            SaschaS
                            wrote on last edited by
                            #282

                            @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
                            0
                            • S SaschaS

                              @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 Offline
                              B Offline
                              blackeagle998
                              wrote on last edited by
                              #283

                              @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
                              0
                              • B blackeagle998

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

                                S Offline
                                S Offline
                                SaschaS
                                wrote on last edited by
                                #284

                                @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
                                0
                                • S SaschaS

                                  @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 Offline
                                  S Offline
                                  SaschaS
                                  wrote on last edited by
                                  #285

                                  @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
                                  0
                                  • S SaschaS

                                    @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 Offline
                                    B Offline
                                    blackeagle998
                                    wrote on last edited by
                                    #286

                                    @saschas
                                    Erledigt, danke für den Hinweis.

                                    1 Reply Last reply
                                    0
                                    • P Offline
                                      P Offline
                                      pfahlenbauer
                                      wrote on last edited by
                                      #287

                                      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
                                      0
                                      • P pfahlenbauer

                                        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 Offline
                                        B Offline
                                        blackeagle998
                                        wrote on last edited by blackeagle998
                                        #288

                                        @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
                                        0
                                        • B blackeagle998

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

                                          P Offline
                                          P Offline
                                          pfahlenbauer
                                          wrote on last edited by
                                          #289

                                          @blackeagle998
                                          Danke, gute Idee.

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          999

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe