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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Viessmann-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                              • blauholsten
                                blauholsten Developer @passuff last edited by

                                @passuff sagte in Viessmann-Adapter:

                                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.

                                Neue Version erstellt, bitte testen....

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

                                  @blauholsten
                                  installiert (1.2.2.)
                                  Finde keinen Unterschied (neuer DP?)

                                  blauholsten 1 Reply Last reply Reply Quote 0
                                  • C
                                    C1500 last edited by

                                    Servus
                                    ich verzweifle gerade etwas.
                                    Es hatte alles schon mal super funktioniert, daher kann ich die Hardware ausschließen.

                                    Bis vor kurzem hatte ich nur das Probelm, das ich keine Zahlenwerte schreiben konnte. Lesen ging problemlos.
                                    Das umschalten von WW auf H+WW klappte hingegen.

                                    Ich hab es jetzt gerade geschafft, das gr nichts mehr geht. Weder schreiben noch lesen.
                                    Den PI neu zu starten bringt nix.
                                    Hab alle Updates auf dem PI gemacht.
                                    Hab auch versucht, vcontrold vom GIT neu zu installieren.

                                    Aktuell kann ich die Telnet-Verbindung herstellen.
                                    "vctrld>commands" bringt auch die möglichen Befehle.
                                    Sobald ich aber einen davon eingebe, (z.B. getTempA) schließt sich Putty.

                                    ioBroker kann auch nichts abfragen, die vito.xml vcontrold.xml wurden aber richtig eingelesen.
                                    Im LOG steht folgenes:
                                    viessmann.png

                                    Mir gehen die Ideen aus 😞
                                    Könnte mir bitte jemand helfen?

                                    Danke und Gruß
                                    Peer

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

                                      @passuff sagte in Viessmann-Adapter:

                                      @blauholsten
                                      installiert (1.2.2.)
                                      Finde keinen Unterschied (neuer DP?)

                                      Das sollte eigentlich du sein, habe aber festgestellt das dieser bei Adapter Start wieder weg ist?

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

                                        @blauholsten
                                        verstehe deinen Satz nicht...

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          C1500 last edited by

                                          Er meint vermutlich folgendes:
                                          Der DP sollte eigentlich da sein
                                          Er hat aber festgestellt, dieser DB bei Adapter Start wieder weg ist.

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

                                            so jetzt sollte er da sein (1.2.3)

                                            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

                                            563
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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