Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Neuer Adapter: ioBroker.stiebel-lwz / ioBroker.stiebel-isg

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Neuer Adapter: ioBroker.stiebel-lwz / ioBroker.stiebel-isg

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      darkiop Most Active last edited by

      Super, vielen Dank - const und let habe ich bereits eingebaut. Aktuell bin ich dran das Bash Skript über request zu abzulösen.

      Stehe allerdings gerade auf dem Schlauch und bekomme

      –data-urlencode "data=[{"name":"$1","value":"$2"}]"

      und

      –data "make=send"

      nicht implementiert.

      Hier noch der Link zum Bash-Skript, da ist der curl Aufruf zu sehen.

      https://github.com/darkiop/ioBroker.sti ... isg_set.sh

              // TODO request instead of isg_set.sh
              // https://www.npmjs.com/package/request
              var options = {
                  url: 'http://' + $isgIP + '/save.php',
                  method: 'POST',
                  jar: true, // cookies
                  gzip: true,
                  headers: {
                      'Accept': 'text/plain, */*; q=0.01',
                      'Accept-Language': 'de,en-US;q=0.7,en;q=0.3',
                      'Host': 'isg',
                      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0',
                      'Referer': 'http://isg/',
                      'Content-Type': 'application/x-www-form-urlencoded',
                      'X-Requested-With': 'XMLHttpRequest',
                      'Connection': 'keep-alive',
                      'Pragma': 'no-cache',
                      'Cache-Control': 'no-cache',
      
                  }
              };
      
              // --data-urlencode "data=[{\"name\":\"$1\",\"value\":\"$2\"}]"
              // --data "make=send" \
      
              function callback(error, response, body) {
                  if (!error && response.statusCode == 200) {
                      adapter.log.info('stateChange ' + body);
                  }
              }
      
              request(options, callback);
      
      1 Reply Last reply Reply Quote 0
      • Jey Cee
        Jey Cee Developer last edited by

        Das hier sollte dir bei URL encode weiterhelfen: https://stackoverflow.com/questions/425 … ess-module

        Und data-send solltest du nicht brauchen.

        Gesendet von meinem m8 mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 last edited by

          Ich habe auch mal drüber geschaut. Hier noch ein bissl Feedback:

          • Wenn du keine Widgets oder www Teile implementiert (beides optional) dann Verzeichnisse entfernen

          • Bitte bei Travis-CI/Appveyor regsitrieren mit GitHub Account und dann Projekt aktivieren und einen commit machen. Ab dann laufen die Tests bei jedem Commit

          • In io-package.js im Bereichn "native" müssen die Testeinträge raus und durch deine Admin-Variablen mit Defaultwerten ersetzt werden

          • In io.package das restartAdapters raus wenn kein Widget dabei ist

          . in io.package als Adaptertyp etwas passenderes als "general" setzen bitte. Liste: http://download.iobroker.net/list.html

          • Es wäre denke sinnvoll die States etwas "Endkundenfreundlicher" zu bennennals aktuell und auch mit read/write und ggf erlaubten Werten u.ä. zu arbeiten. Aktuell kann der User da alles reinschreiben was er will … Hm 🙂

          Ingo

          1 Reply Last reply Reply Quote 0
          • Q
            Qlink last edited by

            Hi darkiop,

            ich hätte heute mal den lwz Adapter hinzugefügt.

            Leider läuft er nicht. Ich bekomme folgende Fehlermeldung im Log:

            host.iobroker	2018-06-18 16:43:13.746	info	Restart adapter system.adapter.stiebel-lwz.0 because enabled
            host.iobroker	2018-06-18 16:43:13.746	error	instance system.adapter.stiebel-lwz.0 terminated with code 1 ()
            host.iobroker	2018-06-18 16:43:13.371	info	instance system.adapter.stiebel-lwz.0 started with pid 804
            host.iobroker	2018-06-18 16:42:43.366	info	Restart adapter system.adapter.stiebel-lwz.0 because enabled
            host.iobroker	2018-06-18 16:42:43.366	error	instance system.adapter.stiebel-lwz.0 terminated with code 1 ()
            host.iobroker	2018-06-18 16:42:42.928	info	instance system.adapter.stiebel-lwz.0 started with pid 2296
            host.iobroker	2018-06-18 16:42:12.930	info	Restart adapter system.adapter.stiebel-lwz.0 because enabled
            host.iobroker	2018-06-18 16:42:12.930	error	instance system.adapter.stiebel-lwz.0 terminated with code 1 ()
            host.iobroker	2018-06-18 16:42:12.602	info	instance system.adapter.stiebel-lwz.0 started with pid 700
            host.iobroker	2018-06-18 16:41:42.596	info	Restart adapter system.adapter.stiebel-lwz.0 because enabled
            host.iobroker	2018-06-18 16:41:42.596	error	instance system.adapter.stiebel-lwz.0 terminated with code 1 ()
            host.iobroker	2018-06-18 16:41:42.049	info	instance system.adapter.stiebel-lwz.0 started with pid 1936
            host.iobroker	2018-06-18 16:41:12.024	info	Restart adapter system.adapter.stiebel-lwz.0 because enabled
            host.iobroker	2018-06-18 16:41:12.024	error	instance system.adapter.stiebel-lwz.0 terminated with code 1 ()
            host.iobroker	2018-06-18 16:41:11.684	info	instance system.adapter.stiebel-lwz.0 started with pid 3036
            

            Auch wenn ich auf debug umstelle erhalte ich nicht mehr infos …

            Hast du eine Idee was das Problem sein kann ?

            1 Reply Last reply Reply Quote 0
            • D
              darkiop Most Active last edited by

              Hey, sagt mir leider nichts. Hatte auch noch keine Zeit bisher die oben genannten Anmerkungen einzubauen. Mal schauen, vielleicht im Laufe der Woche. Der Adapter ist ja aktuell auch nur ein erster Wurf und noch sehr Ausbaufähig 🙂

              1 Reply Last reply Reply Quote 0
              • D
                darkiop Most Active last edited by

                @apollon77: Habe deine ersten Anmerkungen eingebaut und auch meinen GH Account mit Travis-CI/Appveyor verknüpft. Passt das so?

                An das umbenennen der States gehe ich noch. Bei dem read/write und erlaubten Werte Thema bräuchte ich Unterstützung 😉

                1 Reply Last reply Reply Quote 0
                • D
                  darkiop Most Active last edited by

                  Denke du meinst das so?

                  https://github.com/darkiop/ioBroker.sti … 4d1bbba2b4

                  Hab nun einen DP aus der for schleife genommen und mit Standardwerten versehen. Wie würde das dann bei den Zahlenwerten auszusehen haben?

                  Danke und Gruß, Thorsten

                  1 Reply Last reply Reply Quote 0
                  • D
                    darkiop Most Active last edited by

                    Und noch eine ganz andere Frage:

                    Wenn ich den Adapter mittels git direkt in /opt/iobroker/node_modules/iobroker.stiebel-lwz clone und danach dann über den Admin die Instanz erzeuge, funktioniert das setzen der Parameter über die Datenpunkte leider nicht. Laut Log werden sie zwar gesetzt - aber an der LWZ kommt nichts an. Installiere ich den Adapter über den Admin über die Github URL und erzeuge dann die Instanz funktioniert das. Hier habe ich dann aber kein Git Repo und behelfe mir aktuell dadurch, das ich dieses dann paralell an einem anderen Ort clone und via copy & paste dann die Änderungen im /opt/iobroker Ordner einfüge.

                    Was muss hier noch getan werden damit auch ein 'clone' zu einem funktionalen Adapter/Instanz führt? Ein 'npm install' im Adapter Ordner hat mir leider auch nicht geholfen.

                    Grüße und noch einen schönen Sonntag!

                    1 Reply Last reply Reply Quote 0
                    • D
                      darkiop Most Active last edited by

                      Vieleicht kann auch noch jemand den Thread hier in das Entwicklungsforum schieben - ioBroker.vis Adapter Forum war wohl die falsche wahl damals 🙂

                      1 Reply Last reply Reply Quote 0
                      • D
                        darkiop Most Active last edited by

                        Ich komme aktuell mit der Umsetzung mittels request nicht weiter. Habe, um das ganz zu testen, die neue function für den request Vorgang in folgende Datei [1] gepackt und mittels NODE_DEBUG=request node test-node.js ausgführt.

                        Ergebnis ist folgendes:

                        REQUEST { url: 'http://isg/save.php',
                          method: 'POST',
                          form: { name: 'val39s', value: '11' },
                          headers:
                           { Host: 'isg',
                             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0',
                             Accept: 'text/plain, */*; q=0.01',
                             'Accept-Language': 'de,en-US;q=0.7,en;q=0.3',
                             Referer: 'http://isg/',
                             'Content-Type': 'application/x-www-form-urlencoded',
                             'X-Requested-With': 'XMLHttpRequest',
                             Connection: 'keep-alive',
                             Pragma: 'no-cache',
                             'Cache-Control': 'no-cache' },
                          gzip: true,
                          jar: true,
                          callback: [Function: callback] }
                        REQUEST make request http://isg/save.php
                        REQUEST onRequestResponse http://isg/save.php 200 { 'transfer-encoding': 'chunked',
                          'x-powered-by': 'PHP/5.3.0',
                          'set-cookie': [ 'PHPSESSID=144fc5b9ed3fb331b498eacdefd3d940; path=/' ],
                          expires: 'Thu, 19 Nov 1981 08:52:00 GMT',
                          'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0',
                          pragma: 'no-cache',
                          'content-type': 'application/json',
                          date: 'Tue, 26 Jun 2018 17:59:57 GMT',
                          server: 'lighttpd/1.4.19' }
                        REQUEST reading response's body
                        REQUEST finish init function http://isg/save.php
                        REQUEST response end http://isg/save.php 200 { 'transfer-encoding': 'chunked',
                          'x-powered-by': 'PHP/5.3.0',
                          'set-cookie': [ 'PHPSESSID=144fc5b9ed3fb331b498eacdefd3d940; path=/' ],
                          expires: 'Thu, 19 Nov 1981 08:52:00 GMT',
                          'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0',
                          pragma: 'no-cache',
                          'content-type': 'application/json',
                          date: 'Tue, 26 Jun 2018 17:59:57 GMT',
                          server: 'lighttpd/1.4.19' }
                        REQUEST end event http://isg/save.php
                        REQUEST has body http://isg/save.php 78
                        REQUEST emitting complete http://isg/save.php
                        REQUEST RESULTS: null 200 {"success":true,"message":"Die Einstellungen wurden erfolgreich gespeichert."}
                        
                        

                        Allerdings wirt der neue Wert nicht auf dem empfangenden System übernommen. Ich vermute mal hier stimmt noch etwas mit den überlieferten Daten nicht. In dem bisherigen Bash-Script war der JSON String so aufgebaut:

                        data=[{"name":"$1","value":"$2"}]

                        Jemand eine Idee was hier noch zu tun ist?

                        [1] https://github.com/darkiop/ioBroker.sti … request.js

                        1 Reply Last reply Reply Quote 0
                        • D
                          darkiop Most Active last edited by

                          Hallo zusammen, muss den Thread nochmal nach oben schieben. Hätte am WE etwas Zeit um mich weiter um den Adapter zu kümmern - allerdings stecke ich aktuell durch die oben beschrieben Fragen in einer Sackgasse … 😉

                          Grüße Thorsten

                          1 Reply Last reply Reply Quote 0
                          • D
                            darkiop Most Active last edited by

                            Die Frage mit den Min/Max Werten in der io-package.json hat sich erledigt - habe ich gerade ins Repo geladen - abschauen bei anderen Adaptern kann hilfreich sein 😉

                            Die Frage mit dem git clone ebenfalls - auf meiner Testumgebung funktioniert das jetzt wie gewünscht.

                            Offene Fragen wären jetzt noch der Teil mit dem JS request anstatt meinen Bash Skript und ein funktionales automatisches Testen bei pushs.

                            Die aktuellen Werte aus der Weboberfläche ziehe ich mir momentan ebenfalls über ein Bash Skript in die CCU:

                            https://github.com/darkiop/ioBroker.sti … -to-ccu.sh

                            Auch das würde ich gerne in den Adapter integrieren - hier fehlt mir noch die Idee wie und mit welchen Mitteln ich das am besten mache.

                            1 Reply Last reply Reply Quote 0
                            • nik82
                              nik82 Most Active last edited by

                              Hallo,

                              erstmal vielen Dank für die Arbeit, suche auch schön länger ein fertiges Script für IOBroker, habe das jetzt mal getestet.

                              Ich scheitere aber leider schon an der Installation.

                              Ich gebe das hier ein:

                              cd /opt/iobroker
                              
                              iobroker stop
                              
                              npm install iobroker.stiebel-lwz@0.0.3 --production
                              
                              iobroker upload stiebel-lwz
                              
                              iobroker start
                              

                              Es taucht aber weder eine Instanz, noch Objekte auf.

                              Und dann hätte ich noch die Frage ob du die Datei für die CCU nochmal uploaden kannst, der Link funtioniert nicht:

                              https://github.com/darkiop/ioBroker.sti … -to-ccu.sh

                              Da ich auch eine CCU habe, würde ich auch gerne erstmal die Daten in die CCU importieren.

                              Danke im Voraus.
                              6616_installation.jpg

                              1 Reply Last reply Reply Quote 0
                              • D
                                darkiop Most Active last edited by

                                Hi,

                                habe etwas aufgeräumt im Repo, die Skripte für die CCU liegen nun hier:

                                https://github.com/darkiop/ioBroker.sti … mp/scripts

                                Installiere den Adapter über die Github URL direkt über den Admin. Dann im Tab Adapter nach LWZ suchen und eine Instanz erstellen.

                                Der Adapter ist aktuell sehr zweckmäßig und ich habe selbst noch so einige Probleme - aber es geht in kleinen Schritten vorwärts 😉

                                1 Reply Last reply Reply Quote 0
                                • nik82
                                  nik82 Most Active last edited by

                                  @darkiop:

                                  Dann im Tab Adapter nach LWZ suchen und eine Instanz erstellen. `

                                  Das war das Problem, danke dir jetzt hab ich den Adapter drin, habe die Betriebsart auf "Automatik" gestellt.

                                  Er übernimmt aber noch keine Daten.

                                  Kann ich irgendwie überprüfen an was es liegt bzw. warum er noch keine Daten zieht?

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    darkiop Most Active last edited by

                                    Also beim Start des Adapters sollte er sich für das Objekt Betriebsart den aktuellen Status ziehen. Vorausgesetzt du hast kein Benutzer/Passwort im ISGweb hinterlegt und das ISGweb ist auf der Version 8.5.6 (nur mit dieser kann ich testen).

                                    Versuche mal auf der Shell direkt über

                                    bash /opt/iobroker/node_modules/iobroker.stiebel-lwz/isg_set.sh 192.168.1.100 BETRIEBSART WARMWASSER
                                    

                                    den Befehl abzusetzen - statt WARMWASSER für die Automatik nimmst du AUTOMATIK. Die IP entsprechend ersetzen.

                                    1 Reply Last reply Reply Quote 0
                                    • nik82
                                      nik82 Most Active last edited by

                                      Ah jetzt funktioniert es, habe zwar zum test schon das Kennwort raus, hat er aber anscheinend nicht ganz übernommen.

                                      Jetzt übernimmt er auch die Daten. Cool, danke.

                                      Hätte jetzt noch zwei Sachen:

                                      1. Ist es irgendwie möglich die Daten auch mit Kennwort abzugreifen?

                                      2. Momentan sind ja nur die "Steuerungs"-Sachen wie Betriebsart, Lüftung usw. möglich, wird es in Zukunft noch möglich sein, alle anderen Werte zu loggen?

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        darkiop Most Active last edited by

                                        Das mit User/PW sollte machbar sein - ist sicher mal geplant, ich schreibs mal auf die TODO 🙂

                                        Die anderen Parameter kann man ebenfalls setzen, da der Adapter aber noch in einem sehr frühen Stadium ist, habe ich nur diese 4 bisher eingebaut.

                                        Alle weiteren habe ich aber bereits extrahiert und hier notiert:

                                        https://github.com/darkiop/ioBroker.sti … ameters.md

                                        Habe allerdings noch ein paar grundlegende Problemchen, wenn das alles geht dann kann ich auch mit den Parametern in die Breite gehen. Als nächstes würde ich gerne das auslesen der aktuellen Parameter aus dem ISGweb angehen wollen.

                                        1 Reply Last reply Reply Quote 0
                                        • nik82
                                          nik82 Most Active last edited by

                                          Cool, danke dir erstmal.

                                          Ich denke das wird noch richtig gut 😄

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            darkiop Most Active last edited by

                                            Danke, dauer nur etwas 😉

                                            Wenn du einen speziellen Parameter benötigst sag bescheid, das geht relativ fix einzubauen.

                                            Gesendet von meinem Nexus 5X mit Tapatalk

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            666
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            419
                                            64027
                                            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