Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Viessmann-Adapter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Viessmann-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • blauholsten
      blauholsten Developer @passuff last edited by

      @passuff sagte in Viessmann-Adapter:

      @blauholsten
      Danke für das update.
      Prinzipiell könnte man eine Variable für die Reconnect Zeit in den Einstellungen unterbringen, dann kann jeder es so Einstellen wie er möchte...

      Mache ich in der nächsten Version.....👍

      P 1 Reply Last reply Reply Quote 1
      • P
        passuff @blauholsten last edited by

        @blauholsten sagte in Viessmann-Adapter:

        @passuff sagte in Viessmann-Adapter:

        @blauholsten
        Danke für das update.
        Prinzipiell könnte man eine Variable für die Reconnect Zeit in den Einstellungen unterbringen, dann kann jeder es so Einstellen wie er möchte...

        Mache ich in der nächsten Version.....👍

        Danke!

        blauholsten 1 Reply Last reply Reply Quote 0
        • D
          dtp @bahnuhr last edited by dtp

          @bahnuhr sagte in Viessmann-Adapter:

          Könnte man denn auch noch einen möglichen "reboot auf dem raspi" einfügen (wie oben schon beschrieben).

          Das bitte nur als Option, wenn überhaupt. Ansonsten besteht ja die Gefahr, dass Raspi und Adapter hier in eine Endlosschleife geraten.

          Ich persönlich komme gut klar mit den fünf Minuten nach dem Verlust der Verbindung bis zum automatischen Neustart des Adapters. Vielleicht sollte man noch eine maximale Anzahl von Neustarts definieren können. Oder belastet ein permanentes Neustarten des Adapters den ioBroker nur geringfügig?

          1 Reply Last reply Reply Quote 0
          • blauholsten
            blauholsten Developer @passuff last edited by

            @passuff sagte in Viessmann-Adapter:

            @blauholsten sagte in Viessmann-Adapter:

            @passuff sagte in Viessmann-Adapter:

            @blauholsten
            Danke für das update.
            Prinzipiell könnte man eine Variable für die Reconnect Zeit in den Einstellungen unterbringen, dann kann jeder es so Einstellen wie er möchte...

            Mache ich in der nächsten Version.....👍

            Danke!

            Erledigt in Version 1.2.0

            P 1 Reply Last reply Reply Quote 0
            • P
              passuff @blauholsten last edited by

              @blauholsten sagte in Viessmann-Adapter:

              @passuff sagte in Viessmann-Adapter:

              @blauholsten sagte in Viessmann-Adapter:

              @passuff sagte in Viessmann-Adapter:

              @blauholsten
              Danke für das update.
              Prinzipiell könnte man eine Variable für die Reconnect Zeit in den Einstellungen unterbringen, dann kann jeder es so Einstellen wie er möchte...

              Mache ich in der nächsten Version.....👍

              Danke!

              Erledigt in Version 1.2.0

              Danke!

              1 Reply Last reply Reply Quote 0
              • M
                martinschm @Pep last edited by

                @Pep said in Viessmann-Adapter:

                Also bei mir läuft der Adapter auch super. Habe eine VITOTRONIC 200 KW2

                Hi @pep habe eine Vitrotronic 200 KW1. Könntest du trotzdem mal deine vito.xml posten oder per PN schicken?

                Evtl hat sich ja nicht so viel geändert.

                1 Reply Last reply Reply Quote 0
                • M
                  martinschm @Linedancer last edited by

                  @Linedancer said in Viessmann-Adapter:

                  Hier meine funktionierende vito.xml
                  und hier die dazu passende vcontrold.xml
                  Das lesen und schreiben der Daten funktioniert perfekt. Das einzige was bei mir nicht funktioniert ist das setzen vom Niveau der Heizkurve,

                  Vielen Dank. Die XMLs für die Vitotronic 200 KW1 hab ich gesucht. Das spart mir eine Menge Arbeit

                  1 Reply Last reply Reply Quote 0
                  • M
                    martinschm last edited by martinschm

                    Hi,
                    ich probiere den Adapter grade ans fliegen zu bekommen. Ich verwende die XML von @Linedancer .

                    vito.xml

                    Leider bekomme ich im Log immer die Meldung
                    cannot parse vito.xml Error: Non-whitespace before first tag. Line: 0 Column: 1 Char: �

                    Jetzt hab ich an ein Encoding Problem zwischen Windows und Linux gedacht. Ich nutze TextpadNotepad++ unter Windows. Kann aber vor dem ersten Tag keinerlei Zeichen ausmachen.

                    Woran könnte es noch liegen?


                    PROBLEM GELÖST. Es lag wirklich an der Kodierung. Hab es in TextpadNotepad++ konvertiert und dann ging es.

                    1 Reply Last reply Reply Quote 0
                    • M
                      martinschm last edited by martinschm

                      Hi,

                      stehe glaube ich kurz vorm Ziel 🙂
                      In Schritt 6 der Anleitung zu vcontrold soll man ein Skript einrichten (https://github.com/openv/openv/wiki/vcontrold-mit-Raspberry-Pi). Wenn ich jetzt mit den Commandos start und stop arbeiten will kommt der Fehler

                      sudo update-rc.d vcontrol start 99 2 3 4 5 . stop 99 0 1 6 . ausführen. Da kommt bei mir
                      update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults

                      Nutze Raspbian Buster, da muss man glaube ich mit systemctl oder so arbeiten. Bin leider nicht so fit in Linux, um das selber hinzubekommen. Könnte mir da jemand kurz unter die Arme greifen?

                      1 Reply Last reply Reply Quote 0
                      • L
                        Linedancer last edited by

                        Ich verwende für sowas nur Notepad++. Der Windows Editor ist böse...

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          martinschm @Linedancer last edited by

                          @Linedancer said in Viessmann-Adapter:

                          Ich verwende für sowas nur Notepad++. Der Windows Editor ist böse...

                          Hi, den nehme ich auch. Hab mich oben verschrieben.

                          1 Reply Last reply Reply Quote 0
                          • M
                            martinschm last edited by

                            So, habe es hinbekommen. Der Adapter verbindet sich und bekommt Daten. Zumindest ein paar kommen durch.

                            81111283-53e2-43b7-ba01-206d0393e6c2-image.png

                            Vielen Dank für den Adapter

                            1 Reply Last reply Reply Quote 0
                            • bahnuhr
                              bahnuhr Forum Testing Most Active last edited by bahnuhr

                              habe V1.1.1 installiert.

                              nach timeout automatisch verbinden klappt.
                              Es bringt aber nichts.
                              Nach 3-4 Minuten kommt wieder timeout.

                              viessmann.0	2019-08-17 08:12:12.739	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 08:12:02.727	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 08:12:02.727	error	Timeout connection error!
                              viessmann.0	2019-08-17 08:09:02.693	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 08:08:52.677	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 08:08:52.677	error	Timeout connection error!
                              viessmann.0	2019-08-17 08:05:52.647	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 08:05:42.640	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 08:05:42.640	error	Timeout connection error!
                              viessmann.0	2019-08-17 08:02:42.608	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 08:02:32.595	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 08:02:32.595	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:59:32.565	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:59:22.549	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:59:22.549	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:56:22.518	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:56:12.512	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:56:12.512	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:53:12.482	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:53:02.475	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:53:02.475	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:50:02.446	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:49:52.434	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:49:52.434	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:46:52.401	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:46:42.386	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:46:42.386	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:43:42.355	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:43:32.340	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:43:32.340	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:40:32.314	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:40:22.313	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:40:22.313	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:37:22.277	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:37:12.261	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:37:12.261	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:34:12.246	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:34:02.228	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:34:02.228	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:31:02.200	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:30:52.184	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:30:52.184	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:27:52.166	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:27:42.150	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:27:42.150	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:24:42.127	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:24:32.112	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:24:32.112	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:21:32.088	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:21:22.073	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:21:22.073	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:18:22.056	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:18:12.040	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:18:12.040	error	Timeout connection error!
                              viessmann.0	2019-08-17 07:15:12.010	info	Connect with Viessmann sytem!
                              viessmann.0	2019-08-17 07:15:02.007	info	Connection with Viessmann system disconnected!
                              viessmann.0	2019-08-17 07:15:02.007	error	Timeout connection error!
                              

                              Wenn ich nun den Raspi neu reboote und die Instanz neu starten und dann klappt es wieder.
                              Deshalb nochmal die Anforderung von mir:
                              Kann man dies einbauen in das Script.

                              Danke.

                              blauholsten 1 Reply Last reply Reply Quote 0
                              • blauholsten
                                blauholsten Developer @bahnuhr last edited by

                                @bahnuhr sagte in Viessmann-Adapter:

                                habe V1.1.1 installiert.

                                nach timeout automatisch verbinden klappt.
                                Es bringt aber nichts.
                                Nach 3-4 Minuten kommt wieder timeout.

                                viessmann.0	2019-08-17 08:12:12.739	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 08:12:02.727	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 08:12:02.727	error	Timeout connection error!
                                viessmann.0	2019-08-17 08:09:02.693	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 08:08:52.677	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 08:08:52.677	error	Timeout connection error!
                                viessmann.0	2019-08-17 08:05:52.647	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 08:05:42.640	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 08:05:42.640	error	Timeout connection error!
                                viessmann.0	2019-08-17 08:02:42.608	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 08:02:32.595	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 08:02:32.595	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:59:32.565	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:59:22.549	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:59:22.549	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:56:22.518	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:56:12.512	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:56:12.512	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:53:12.482	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:53:02.475	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:53:02.475	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:50:02.446	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:49:52.434	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:49:52.434	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:46:52.401	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:46:42.386	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:46:42.386	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:43:42.355	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:43:32.340	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:43:32.340	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:40:32.314	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:40:22.313	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:40:22.313	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:37:22.277	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:37:12.261	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:37:12.261	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:34:12.246	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:34:02.228	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:34:02.228	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:31:02.200	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:30:52.184	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:30:52.184	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:27:52.166	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:27:42.150	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:27:42.150	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:24:42.127	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:24:32.112	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:24:32.112	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:21:32.088	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:21:22.073	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:21:22.073	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:18:22.056	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:18:12.040	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:18:12.040	error	Timeout connection error!
                                viessmann.0	2019-08-17 07:15:12.010	info	Connect with Viessmann sytem!
                                viessmann.0	2019-08-17 07:15:02.007	info	Connection with Viessmann system disconnected!
                                viessmann.0	2019-08-17 07:15:02.007	error	Timeout connection error!
                                

                                Wenn ich nun den Raspi neu reboote und die Instanz neu starten und dann klappt es wieder.
                                Deshalb nochmal die Anforderung von mir:
                                Kann man dies einbauen in das Script.

                                Danke.

                                Hier bockt dann aber aber dein raspi bzw. der dort drauf laufende vcontrold.

                                Für dein Fall wäre es Sinninger und einfacher einfach ein kleines Skript laufen zu lassen und dann dein Pi neu starten zu lassen. Falls du dabei Hilfe brauchst, einfach bescheid geben....

                                bahnuhr 1 Reply Last reply Reply Quote 0
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active @blauholsten last edited by

                                  @blauholsten sagte in Viessmann-Adapter:

                                  Für dein Fall wäre es Sinninger und einfacher einfach ein kleines Skript laufen zu lassen und dann dein Pi neu starten zu lassen. Falls du dabei Hilfe brauchst, einfach bescheid geben....

                                  Ja, ich glaube ich brauche da Hilfe.

                                  Denn dies habe ich schon mal versucht.

                                  anbei mal meine Versuche:

                                  
                                  // Wenn der Viessmann Adapter keine Daten mehr bekommt (Verbindung nicht geschlossen) dann force_reload beim raspi und Adapter nach 2 Min. neu starten
                                  
                                  
                                  /* Ablauf
                                  - PC wird neu gestartet oder Adapter ist nicht grün
                                  - nach 30 Sek. prüfen ob immer noch false
                                  - 3 Min. warten
                                  - Adapter ausschalten
                                  - Raspi force-reload durchführen
                                  - 2 Min. warten
                                  - Adapter starten
                                  - 1 Min. warten -> prüfen ob Adapter true ist -> wenn ja, dann Telegram "gestartet"
                                    wenn nein dann Telegram Nachricht "nicht erfolgreich"
                                  */
                                  
                                  var logging = true;
                                  var idTest = ["system.adapter.viessmann.0.connected", "viessmann.0.info.connection"];
                                  
                                  on({id: idTest, change: "ne", val: false, ack: true}, function(obj){
                                      if (logging) log("Adapter ist false");
                                      setTimeout(function() {     // 30 Sek. warten
                                          if (getState("system.adapter.viessmann.0.connected").val === false || getState("viessmann.0.info.connection").val === false) {
                                              if (logging) log("nach 30 Sek. Adapter ist weiterhin false");
                                              setTimeout(function() {     // 3 Min. warten
                                                  stopviessmann();        // Adapter gestoppt !
                                                  raspi();                // Raspi force-reload durchführen
                                                  setTimeout(function() { // 2 Min. warten
                                                      startviessmann();   // Adapter neu gestartet !
                                                      setTimeout(function() {  // 1 Min. warten
                                                          if (getState("system.adapter.viessmann.0.connected").val === true & getState("viessmann.0.info.connection").val === true) {
                                                              log ('Viessmann war nicht mehr verbunden; Raspi und Adapter wurden neu gestartet!');
                                                              sendTo('telegram', {user: 'Dieter',text: "Viessmann war nicht mehr verbunden; Raspi und Adapter wurden neu gestartet!", parse_mode: 'HTML'}); 
                                                          } else {
                                                              log ('Viessmann war nicht mehr verbunden; Raspi und Adapter konnten nicht neu gestartet werden!');
                                                              sendTo('telegram', {user: 'Dieter',text: "Viessmann war nicht mehr verbunden; Raspi und Adapter konnten nicht neu gestartet werden!", parse_mode: 'HTML'}); 
                                                          }
                                                      }, 60000);  // 1 Min.
                                                  }, 120000);     // 2 Min.
                                              }, 180000);         // 3 Min.
                                          } else {
                                              if (logging) log("nach 30 Sek. Adapter ist true");
                                          }
                                      }, 30000);          // 30 Sek.
                                  });
                                  
                                  
                                  
                                  function raspi() {
                                      const Client = require('ssh2').Client;      //ssh2 muss vorher beim Adapter javascript eingebunden werden.
                                      var conn = new Client();
                                      conn.on('ready', function() {
                                          conn.exec('sudo /etc/vcontrold/force_reload.sh', function(err, stream) {
                                              if (err) throw err;
                                              stream.on('close', function(code, signal) {
                                                  conn.end();
                                              }).on('data', function(data) {
                                                  log('Ausgabe: ' + data);
                                              }).stderr.on('data', function(data) {
                                                  log('Fehler: ' + data);
                                              });
                                          });
                                      }).connect({
                                          host: '192.168.xxx.xx', // IP des RPi
                                          port: 22,
                                          username: 'xxx',
                                         password: 'xxx'
                                      });
                                  }
                                  
                                  function stopviessmann() {
                                      var obj = getObject('system.adapter.viessmann.0');
                                      obj.common.enabled = false;
                                      setObject('system.adapter.viessmann.0', obj);
                                      log ('Viessmann Adapter gestoppt!');
                                  }
                                  
                                  function startviessmann() {
                                      var obj = getObject('system.adapter.viessmann.0');
                                      obj.common.enabled = true;
                                      setObject('system.adapter.viessmann.0', obj);
                                      log ('Viessmann Adapter neu gestartet!');
                                  }
                                  
                                  
                                  
                                  
                                  
                                  /*  // alter on
                                  on({id: "viessmann.0.info.connection", change:"ne", val: false, ack: true}, function(obj){
                                          log ('Viessmann war nicht mehr verbunden; Raspi und Adapter neu gestartet!');
                                          raspi();
                                          setTimeout(function() {
                                              setState('system.adapter.viessmann.0.alive', false);
                                          }, 60000);
                                          setTimeout(function() {
                                              if (getState('system.adapter.viessmann.0.alive').val === false) {
                                                  setState('system.adapter.viessmann.0.alive', true);
                                              }
                                          }, 120000);    
                                  });
                                  */
                                  
                                  
                                  /*  // Werte holen mit ssh2  ---------------------------------------------------
                                  
                                  const Client = require('ssh2').Client;      //ssh2 muss vorher beim Adapter javascript eingebunden werden.
                                  
                                  function raspi() {
                                    var conn = new Client();
                                    conn.on('ready', function() {
                                      conn.exec('vclient -h 127.0.0.1:3002 -c getTempA', function(err, stream) {
                                        if (err) throw err;
                                        stream.on('close', function(code, signal) {
                                          conn.end();
                                        }).on('data', function(data) {
                                          log('Ausgabe: ' + data);
                                        }).stderr.on('data', function(data) {
                                          log('Fehler: ' + data);
                                        });
                                      });
                                    }).connect({
                                      host: '192.168.xxx.xx', // IP des RPi
                                      port: 22,
                                      username: 'xxx',
                                      password: 'xxx'
                                    });
                                  }
                                  
                                  raspi();
                                  
                                  //, getTempWWist, getTempWWsoll, getTempKist, getTempKsoll
                                  
                                  */
                                  

                                  Das force-reload.sh auf dem raspi sah wie folgt aus:

                                  # force-reload ausfuehren und Text an telegram
                                  curl -s -k "https://api.telegram.org/botabcde:xcyA-ExGV8/sendMessage" -d text="<b>Pi-Heizung: force-reload ausgefuehrt !</b>" -d chat_id=257abcde -d parse_mode=html
                                  sleep 3
                                  sudo /etc/init.d/vcontrol force-reload
                                  
                                  

                                  Fazit:
                                  Meine Versuche haben immer irgendwo gehakt.
                                  Was bräuchte ich:

                                  1. connection steht nicht (entweder ist der Adapter gelb oder die Werte kommen eben nicht an)
                                  2. Intanz ausschalten
                                  3. nach x Sek. reboot bei dem raspi
                                  4. nach x Sek. Instanz wieder an.

                                  mfg
                                  Dieter

                                  blauholsten 1 Reply Last reply Reply Quote 0
                                  • M
                                    martinschm last edited by

                                    Im Adapter kann ich ja konfigurieren, in welchen Abständen welche Daten abgefragt werden.

                                    Welche Intervalle machen denn Sinn?
                                    Bei Abgas und Wassertemperatur, Errorcodes sowie Brennerstarts?

                                    blauholsten 1 Reply Last reply Reply Quote 0
                                    • blauholsten
                                      blauholsten Developer @bahnuhr last edited by

                                      @bahnuhr sagte in Viessmann-Adapter:

                                      @blauholsten sagte in Viessmann-Adapter:

                                      Für dein Fall wäre es Sinninger und einfacher einfach ein kleines Skript laufen zu lassen und dann dein Pi neu starten zu lassen. Falls du dabei Hilfe brauchst, einfach bescheid geben....

                                      Ja, ich glaube ich brauche da Hilfe.

                                      Denn dies habe ich schon mal versucht.

                                      anbei mal meine Versuche:

                                      
                                      // Wenn der Viessmann Adapter keine Daten mehr bekommt (Verbindung nicht geschlossen) dann force_reload beim raspi und Adapter nach 2 Min. neu starten
                                      
                                      
                                      /* Ablauf
                                      - PC wird neu gestartet oder Adapter ist nicht grün
                                      - nach 30 Sek. prüfen ob immer noch false
                                      - 3 Min. warten
                                      - Adapter ausschalten
                                      - Raspi force-reload durchführen
                                      - 2 Min. warten
                                      - Adapter starten
                                      - 1 Min. warten -> prüfen ob Adapter true ist -> wenn ja, dann Telegram "gestartet"
                                        wenn nein dann Telegram Nachricht "nicht erfolgreich"
                                      */
                                      
                                      var logging = true;
                                      var idTest = ["system.adapter.viessmann.0.connected", "viessmann.0.info.connection"];
                                      
                                      on({id: idTest, change: "ne", val: false, ack: true}, function(obj){
                                          if (logging) log("Adapter ist false");
                                          setTimeout(function() {     // 30 Sek. warten
                                              if (getState("system.adapter.viessmann.0.connected").val === false || getState("viessmann.0.info.connection").val === false) {
                                                  if (logging) log("nach 30 Sek. Adapter ist weiterhin false");
                                                  setTimeout(function() {     // 3 Min. warten
                                                      stopviessmann();        // Adapter gestoppt !
                                                      raspi();                // Raspi force-reload durchführen
                                                      setTimeout(function() { // 2 Min. warten
                                                          startviessmann();   // Adapter neu gestartet !
                                                          setTimeout(function() {  // 1 Min. warten
                                                              if (getState("system.adapter.viessmann.0.connected").val === true & getState("viessmann.0.info.connection").val === true) {
                                                                  log ('Viessmann war nicht mehr verbunden; Raspi und Adapter wurden neu gestartet!');
                                                                  sendTo('telegram', {user: 'Dieter',text: "Viessmann war nicht mehr verbunden; Raspi und Adapter wurden neu gestartet!", parse_mode: 'HTML'}); 
                                                              } else {
                                                                  log ('Viessmann war nicht mehr verbunden; Raspi und Adapter konnten nicht neu gestartet werden!');
                                                                  sendTo('telegram', {user: 'Dieter',text: "Viessmann war nicht mehr verbunden; Raspi und Adapter konnten nicht neu gestartet werden!", parse_mode: 'HTML'}); 
                                                              }
                                                          }, 60000);  // 1 Min.
                                                      }, 120000);     // 2 Min.
                                                  }, 180000);         // 3 Min.
                                              } else {
                                                  if (logging) log("nach 30 Sek. Adapter ist true");
                                              }
                                          }, 30000);          // 30 Sek.
                                      });
                                      
                                      
                                      
                                      function raspi() {
                                          const Client = require('ssh2').Client;      //ssh2 muss vorher beim Adapter javascript eingebunden werden.
                                          var conn = new Client();
                                          conn.on('ready', function() {
                                              conn.exec('sudo /etc/vcontrold/force_reload.sh', function(err, stream) {
                                                  if (err) throw err;
                                                  stream.on('close', function(code, signal) {
                                                      conn.end();
                                                  }).on('data', function(data) {
                                                      log('Ausgabe: ' + data);
                                                  }).stderr.on('data', function(data) {
                                                      log('Fehler: ' + data);
                                                  });
                                              });
                                          }).connect({
                                              host: '192.168.xxx.xx', // IP des RPi
                                              port: 22,
                                              username: 'xxx',
                                             password: 'xxx'
                                          });
                                      }
                                      
                                      function stopviessmann() {
                                          var obj = getObject('system.adapter.viessmann.0');
                                          obj.common.enabled = false;
                                          setObject('system.adapter.viessmann.0', obj);
                                          log ('Viessmann Adapter gestoppt!');
                                      }
                                      
                                      function startviessmann() {
                                          var obj = getObject('system.adapter.viessmann.0');
                                          obj.common.enabled = true;
                                          setObject('system.adapter.viessmann.0', obj);
                                          log ('Viessmann Adapter neu gestartet!');
                                      }
                                      
                                      
                                      
                                      
                                      
                                      /*  // alter on
                                      on({id: "viessmann.0.info.connection", change:"ne", val: false, ack: true}, function(obj){
                                              log ('Viessmann war nicht mehr verbunden; Raspi und Adapter neu gestartet!');
                                              raspi();
                                              setTimeout(function() {
                                                  setState('system.adapter.viessmann.0.alive', false);
                                              }, 60000);
                                              setTimeout(function() {
                                                  if (getState('system.adapter.viessmann.0.alive').val === false) {
                                                      setState('system.adapter.viessmann.0.alive', true);
                                                  }
                                              }, 120000);    
                                      });
                                      */
                                      
                                      
                                      /*  // Werte holen mit ssh2  ---------------------------------------------------
                                      
                                      const Client = require('ssh2').Client;      //ssh2 muss vorher beim Adapter javascript eingebunden werden.
                                      
                                      function raspi() {
                                        var conn = new Client();
                                        conn.on('ready', function() {
                                          conn.exec('vclient -h 127.0.0.1:3002 -c getTempA', function(err, stream) {
                                            if (err) throw err;
                                            stream.on('close', function(code, signal) {
                                              conn.end();
                                            }).on('data', function(data) {
                                              log('Ausgabe: ' + data);
                                            }).stderr.on('data', function(data) {
                                              log('Fehler: ' + data);
                                            });
                                          });
                                        }).connect({
                                          host: '192.168.xxx.xx', // IP des RPi
                                          port: 22,
                                          username: 'xxx',
                                          password: 'xxx'
                                        });
                                      }
                                      
                                      raspi();
                                      
                                      //, getTempWWist, getTempWWsoll, getTempKist, getTempKsoll
                                      
                                      */
                                      

                                      Das force-reload.sh auf dem raspi sah wie folgt aus:

                                      # force-reload ausfuehren und Text an telegram
                                      curl -s -k "https://api.telegram.org/botabcde:xcyA-ExGV8/sendMessage" -d text="<b>Pi-Heizung: force-reload ausgefuehrt !</b>" -d chat_id=257abcde -d parse_mode=html
                                      sleep 3
                                      sudo /etc/init.d/vcontrol force-reload
                                      
                                      

                                      Fazit:
                                      Meine Versuche haben immer irgendwo gehakt.
                                      Was bräuchte ich:

                                      1. connection steht nicht (entweder ist der Adapter gelb oder die Werte kommen eben nicht an)
                                      2. Intanz ausschalten
                                      3. nach x Sek. reboot bei dem raspi
                                      4. nach x Sek. Instanz wieder an.

                                      mfg
                                      Dieter

                                      Hi,

                                      Auf die schnelle vom Handy. Das mit dem Adapters stoppen usw. Kannst du dir schenken.

                                      Mache folgendes.......

                                      Stelle dein Skript so um, dass du nur auf den Connection Datenpunkt des Adapters triggerst. Sollte das passieren, lässt du bei
                                      Wert false Zeit x (ich würde min 10m wählen)laufen, dann führst du einen Befehl aus der den Pi neu starten lässt. Bei true den timer wieder löschen. Mehr brauchst du eigentlich nicht zu machen. Bei weitere Hilfe einfach melden....

                                      1 Reply Last reply Reply Quote 0
                                      • blauholsten
                                        blauholsten Developer @martinschm last edited by

                                        @martinschm das musst du ein wenig testen, allerdings sollte man relativ unwichtige Werte wie Brennerstarts und erros nicht zu klein wählen. Sowas Frage ich alle fünf Minuten ab. Temperaturen im Sekunden Bereich.

                                        1 Reply Last reply Reply Quote 1
                                        • D
                                          dtp last edited by

                                          Übrigens, das Sortieren bzgl. des Abfrageintervalls klappt noch nicht so richtig. Ein Sortieren nach Name und Beschreibung funktioniert dagegen.

                                          Würde mir noch wünschen, dass man für die Abfrageintervalle einzelne Abfragepunkte markieren kann, um dann für diese einheitlich das Abfrageintervall ändern zu könnnen. Außerdem wäre ein Filterfunktion toll, so dass man z.B. "temp" eingeben kann, um nur noch die Temperatur-Abfragepunkte angezeigt zu bekommen.

                                          1 Reply Last reply Reply Quote 1
                                          • P
                                            passuff last edited by passuff

                                            Es gibt ja bereits einen Dp "connection", der die Verbindung überwacht.
                                            Soweit ich nachvollziehen kann, ist dieser an den Log Eintrag " Connection with Viessmann system disconnected" geknüpft. Wenn ich beispielsweise die Heizung kurz ausschalte, oder den USB Stecker entferne, erhalte ich diesen Eintrag.

                                            Ich benötige einen zweiten dp, der auf viessmann.0 Timeout connection error! Triggert. Bei mir der Fall, wenn sich vcontrold oder der raspi aufgehängt hat. Ist dies der Fall würde ich den raspi gerne neustarten. Auf ein Log Eintrag zu triggern, ist vermutlich schwierig. Daher die Bitte für einen zusätzlichen Datenpunkt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            882
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            viesmann
                                            50
                                            523
                                            125023
                                            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