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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter MyVBus v0.6.x Latest

NEWS

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

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

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

Test Adapter MyVBus v0.6.x Latest

Geplant Angeheftet Gesperrt Verschoben Tester
resol vbus
381 Beiträge 27 Kommentatoren 100.6k Aufrufe 22 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Offline
    B Offline
    BlackHawk3000
    schrieb am zuletzt editiert von
    #252

    Eine Frage an die Resol Profis hier.

    Habe eine DeltaSol BX Steuerung.
    Ich möchte über die Nacht Speicher 2 abkühlen lassen.
    Dazu muss er Relai 2 öffnen und die Pumpe aktivieren.

    Kann ich über den Adapter und das KM2 Modul, Relai und Pumpe über Blockly aktivieren?

    Denn leider nutzt die integrierte Speicherkühlung immer erst Speicher 1 zum abkühlen, was mein WarmWasserspeicher ist.

    GrizzelbeeG GarganoG 3 Antworten Letzte Antwort
    0
    • B BlackHawk3000

      Eine Frage an die Resol Profis hier.

      Habe eine DeltaSol BX Steuerung.
      Ich möchte über die Nacht Speicher 2 abkühlen lassen.
      Dazu muss er Relai 2 öffnen und die Pumpe aktivieren.

      Kann ich über den Adapter und das KM2 Modul, Relai und Pumpe über Blockly aktivieren?

      Denn leider nutzt die integrierte Speicherkühlung immer erst Speicher 1 zum abkühlen, was mein WarmWasserspeicher ist.

      GrizzelbeeG Offline
      GrizzelbeeG Offline
      Grizzelbee
      Developer
      schrieb am zuletzt editiert von
      #253

      Hi @BlackHawk3000,

      Leider kann der Adapter aktuell die VBus Devices nur auslesen aber nicht steuern - tut mir leid.
      Ob oder wann das gehen wird kann ich leider aktuell nicht sagen - die Dokumentation der Lib auf der wir aufsetzen gibt da nicht so richtig viel her. Ich bin da auf Support angewiesen.

      viele Grüße
      grizzelbee

      GarganoG 1 Antwort Letzte Antwort
      1
      • B BlackHawk3000

        Eine Frage an die Resol Profis hier.

        Habe eine DeltaSol BX Steuerung.
        Ich möchte über die Nacht Speicher 2 abkühlen lassen.
        Dazu muss er Relai 2 öffnen und die Pumpe aktivieren.

        Kann ich über den Adapter und das KM2 Modul, Relai und Pumpe über Blockly aktivieren?

        Denn leider nutzt die integrierte Speicherkühlung immer erst Speicher 1 zum abkühlen, was mein WarmWasserspeicher ist.

        GarganoG Offline
        GarganoG Offline
        Gargano
        schrieb am zuletzt editiert von
        #254

        @BlackHawk3000 Ich weiß nicht welche Pumpe Du hast, wenn die nur 230V braucht , kannst Du mit einem Umschaltrelais die Pumpe ansteuern. D.h. das Relais ohne Strom = Pumpe ist mit der Steuerung verbunden, Relais hat Strom = Pumpe ist direkt mit 230V verbunden.
        Meine braucht noch zusätzlich ein PWM Signal.

        1 Antwort Letzte Antwort
        0
        • GrizzelbeeG Grizzelbee

          Hi @BlackHawk3000,

          Leider kann der Adapter aktuell die VBus Devices nur auslesen aber nicht steuern - tut mir leid.
          Ob oder wann das gehen wird kann ich leider aktuell nicht sagen - die Dokumentation der Lib auf der wir aufsetzen gibt da nicht so richtig viel her. Ich bin da auf Support angewiesen.

          viele Grüße
          grizzelbee

          GarganoG Offline
          GarganoG Offline
          Gargano
          schrieb am zuletzt editiert von
          #255

          @Grizzelbee 'die Dokumentation der Lib auf der wir aufsetzen gibt da nicht so richtig viel her. Ich bin da auf Support angewiesen'

          Woran liegts ? Kein Support, keine Beispiele ?
          Ich habe nur unter Tutorials ein mageres Beispiel für 'Save the configuration' gesehen. In der Documentation steht wenig bis gar nichts drin.

          GrizzelbeeG 1 Antwort Letzte Antwort
          0
          • GarganoG Gargano

            @Grizzelbee 'die Dokumentation der Lib auf der wir aufsetzen gibt da nicht so richtig viel her. Ich bin da auf Support angewiesen'

            Woran liegts ? Kein Support, keine Beispiele ?
            Ich habe nur unter Tutorials ein mageres Beispiel für 'Save the configuration' gesehen. In der Documentation steht wenig bis gar nichts drin.

            GrizzelbeeG Offline
            GrizzelbeeG Offline
            Grizzelbee
            Developer
            schrieb am zuletzt editiert von
            #256

            @Gargano sagte in Test Adapter MyVBus v0.0.x GitHub:

            Woran liegts ? Kein Support, keine Beispiele ?

            Im Grunde: Beides. 😉
            Wie du selber gesehen hast, ist die Doku mager bis gar nicht vorhanden.
            Ich habe den Autor deshalb persönlich angeschrieben aber keine Beispiele erhalten. Die Aussage war zwar, das das prinzipiell möglich sei, aber allem Anschein nach nicht in der Generalität, wie es für den Adapter notwendig wäre.
            Aktuell ist das also eine Sackgasse.

            viele Grüße
            grizzelbee

            GarganoG 1 Antwort Letzte Antwort
            0
            • GrizzelbeeG Grizzelbee

              @Gargano sagte in Test Adapter MyVBus v0.0.x GitHub:

              Woran liegts ? Kein Support, keine Beispiele ?

              Im Grunde: Beides. 😉
              Wie du selber gesehen hast, ist die Doku mager bis gar nicht vorhanden.
              Ich habe den Autor deshalb persönlich angeschrieben aber keine Beispiele erhalten. Die Aussage war zwar, das das prinzipiell möglich sei, aber allem Anschein nach nicht in der Generalität, wie es für den Adapter notwendig wäre.
              Aktuell ist das also eine Sackgasse.

              viele Grüße
              grizzelbee

              GarganoG Offline
              GarganoG Offline
              Gargano
              schrieb am zuletzt editiert von Gargano
              #257

              @Grizzelbee mmh, ich kann ja mal reinschauen, evtl. finde ich was raus, wie man ein Kommando an den LAN -Adadpter abschickt.
              Laut dem 'Save the configuration' Beispiel soll das ja möglich sein.

              Oder habt Ihr schon ein 'standalone' Beispiel in JS ?

              GrizzelbeeG 1 Antwort Letzte Antwort
              0
              • GarganoG Gargano

                @Grizzelbee mmh, ich kann ja mal reinschauen, evtl. finde ich was raus, wie man ein Kommando an den LAN -Adadpter abschickt.
                Laut dem 'Save the configuration' Beispiel soll das ja möglich sein.

                Oder habt Ihr schon ein 'standalone' Beispiel in JS ?

                GrizzelbeeG Offline
                GrizzelbeeG Offline
                Grizzelbee
                Developer
                schrieb am zuletzt editiert von
                #258

                @Gargano
                Wäre cool wenn du ein bisschen forschen könntest und magst. Ich habe aktuell mit meinen anderen beiden Projekten/Adaptern (MieleCloudService und dysonAirPurifier) mehr als genug um die Ohren. da komme ich leider gerade nicht dazu.
                Aktuell habe ich noch gar nichts in der Richtung.

                GarganoG 3 Antworten Letzte Antwort
                0
                • GrizzelbeeG Grizzelbee

                  @Gargano
                  Wäre cool wenn du ein bisschen forschen könntest und magst. Ich habe aktuell mit meinen anderen beiden Projekten/Adaptern (MieleCloudService und dysonAirPurifier) mehr als genug um die Ohren. da komme ich leider gerade nicht dazu.
                  Aktuell habe ich noch gar nichts in der Richtung.

                  GarganoG Offline
                  GarganoG Offline
                  Gargano
                  schrieb am zuletzt editiert von
                  #259

                  @Grizzelbee Ich hab mal angefangen mich durchzuwühlen.
                  Ich hab jetzt ein gestrippten JS Code aus dem index.js im Directory examples/customizer.

                  Allerdings ist mein Resol CS2 nicht in der Liste der Geräte drin. Da muß ich noch schauen wie ich den rein bekomme.
                  Das sind ziemlich viele JSON Tabellen. Ich hab was gelesen von einem Configuration Importer.

                  Ich meld mich wieder, wenn ich weiter bin

                  1 Antwort Letzte Antwort
                  1
                  • GrizzelbeeG Grizzelbee

                    @Gargano
                    Wäre cool wenn du ein bisschen forschen könntest und magst. Ich habe aktuell mit meinen anderen beiden Projekten/Adaptern (MieleCloudService und dysonAirPurifier) mehr als genug um die Ohren. da komme ich leider gerade nicht dazu.
                    Aktuell habe ich noch gar nichts in der Richtung.

                    GarganoG Offline
                    GarganoG Offline
                    Gargano
                    schrieb am zuletzt editiert von Gargano
                    #260

                    @Grizzelbee So, ich hab die erste JS Version die Daten in den RESOL Controller schreibt.

                    Ich brauch aber noch ein paar Angaben von Dir :
                    Wo werden denn die IP und das VBus Passwort gespeichert ?
                    Ich wollte die auslesen und in die Konfigurations-Struc eintragen. Ansonsten muß jeder dies in das Script eintragen.

                    Zur Implementation in myVBus dachte ich mir folgendes :
                    Einmal ein JSON -DP . Da kann man mehrere Konfigurationswerte eintragen.
                    Z.B.

                    [{"valueId": "ORueckkuehlung", "value": 1},{"valueId":"OHolyCool","value": 0}]
                    

                    Die Namen und Typ der Parameter stehen in dem data.js file der jeweiligen Resol-Geräte im Verzeichnis
                    ../src/configuration-optimizers.

                    Dann ein Editor , in dem man einzelne Parameternamen auswählen oder eintragen kann. Dazu wird ein DP angelegt der den Wert beinhaltet. Ändert man den Wert wird dieser zum Resol übertragen.

                    Was meinst Du ?

                    Vorerst kann man mit dem Script auskommen, glaube ich.

                    GrizzelbeeG 1 Antwort Letzte Antwort
                    0
                    • GrizzelbeeG Grizzelbee

                      @Gargano
                      Wäre cool wenn du ein bisschen forschen könntest und magst. Ich habe aktuell mit meinen anderen beiden Projekten/Adaptern (MieleCloudService und dysonAirPurifier) mehr als genug um die Ohren. da komme ich leider gerade nicht dazu.
                      Aktuell habe ich noch gar nichts in der Richtung.

                      GarganoG Offline
                      GarganoG Offline
                      Gargano
                      schrieb am zuletzt editiert von Gargano
                      #261

                      @grizzelbee Hier jetzt das Script zum Schreiben af Resol
                      Unter host noch die IP vom Resol Adapter und das Passwort eintragen

                      /*! resol-vbus | Copyright (c) 2013-2018, Daniel Wippermann | MIT license */
                      /* Erweitert von Gargano 12.1.2021
                          Es werden 2 DP unter '0_userdata.0.' angelegt 
                          
                          Resol.JSON : enthält den JSON für die Parameter
                          Z.B. [{"valueId": "ORueckkuehlung", "value": 0},{"valueId":"OHolyCool","value": 0}]
                          Die Parameter sind im File ..-data.js im Directory GIT\resol-vbus\src\configuration-optimizers
                          
                          Resol.Send : wenn true, wird der JSON an Resol gesendet, danach automatisch wieder auf false gesetzt
                          Während des Sendens wird myvbus Adapter deaktiviert.
                      */
                      
                      'use strict';
                      
                      
                      const minimist = require('minimist');
                      const vbus = require('resol-vbus');
                      
                      const config = {
                      
                          /**
                           * The name of the `Connection` subclass to use for connecting to the VBus.
                           * @type {String}
                           */
                          connectionClassName: 'TcpConnection',
                      
                          connectionOptions: {
                              /**
                               * The host name / IP address of the VBus/LAN or Datalogger device.
                               * @type {String}
                               */
                              host: '192.168.xxx.yyy',
                      
                              /**
                               * The password for the VBus/LAN or Datalogger device.
                               * @type {String}
                               */
                              password: 'vbus',
                          },
                      
                      };
                      
                      
                      const i18n = new vbus.I18N('en');
                      
                      
                      let reportProgress = (message) => {
                          let line;
                          if (typeof message === 'string') {
                              line = message;
                          } else if (message.message === 'OPTIMIZING_VALUES') {
                              line = i18n.sprintf('Optimizing set of values for round %d', message.round);
                          } else if (message.message === 'GETTING_VALUE') {
                              line = i18n.sprintf('Getting value %d/%d, try %d: %s', message.valueNr, message.valueCount, message.tries, message.valueId);
                          } else if (message.message === 'SETTING_VALUE') {
                              line = i18n.sprintf('Setting value %d/%d, try %d: %s', message.valueNr, message.valueCount, message.tries, message.valueId);
                          } else if (message.message === 'CONNECTION_STATE') {
                              line = i18n.sprintf('Connection state changed to %s', message.connectionState);
                          } else if (message.message === 'WAITING_FOR_FREE_BUS') {
                              line = i18n.sprintf('Waiting for free bus');
                          } else if (message.message === 'RELEASING_BUS') {
                              line = i18n.sprintf('Releasing bus');
                          } else {
                              line = i18n.sprintf('%s: %s', message.message, JSON.stringify(message));
                          }
                      
                          if (typeof message.round === 'number') {
                              line = i18n.sprintf('[%d] %s', message.round, line);
                          }
                      
                          console.log(line);
                      };
                      
                      
                      
                      const createConnection = function() {
                      
                          const Connection = vbus [config.connectionClassName];
                          const conn = new Connection(config.connectionOptions);
                      
                          conn.on('connectionState', (state) => {
                              reportProgress({
                                  message: 'CONNECTION_STATE',
                                  connectionState: state,
                              });
                      		if (state == 'DISCONNECTED') {
                      			// restart myVBUS
                      			instanceSetRun(true);
                                  setState(idResolSend,false);
                      		}
                          });
                      
                          return conn;
                      };
                      
                      
                      const runSingleShot = async (saveJSON) => {
                          const context = {};
                      
                          try {
                       
                              const conn = await createConnection();
                              context.connection = conn;
                              let saveConfig = saveJSON;
                              context.saveConfig = saveConfig;
                      
                              reportProgress('Connecting...');
                              await context.connection.connect();
                              reportProgress('Waiting for free bus...');
                              const datagram = await context.connection.waitForFreeBus();
                              context.masterAddress = datagram.sourceAddress;
                              reportProgress('Found master with address 0x' + context.masterAddress.toString(16));
                              context.deviceAddress = context.masterAddress;
                      	
                              const optimizer = await vbus.ConfigurationOptimizerFactory.createOptimizerByDeviceAddress(context.deviceAddress);
                              context.optimizer = optimizer;
                              if (!optimizer) {
                                  reportProgress(i18n.sprintf('WARNING: Unable to create optimizer for master with address 0x%04X', context.masterAddress));
                              }
                              context.customizer = new vbus.ConnectionCustomizer({
                                  deviceAddress: context.deviceAddress,
                                  connection: context.connection,
                                  optimizer: context.optimizer,
                              });
                      
                              let savedConfig;
                              if (context.saveConfig !== undefined) {
                                  const saveConfig = context.saveConfig;
                                  const oldConfig = context.oldConfig;
                      			
                                  const options = {
                                      optimize: false,
                                      reportProgress,
                                  };
                                  savedConfig = await context.customizer.saveConfiguration(saveConfig, oldConfig, options);
                              } else {
                      			console.log('Optimizer savedConfig = loadedConfig ',loadedConfig);
                              }
                      		console.log('Save ',saveConfig);
                              let jsonConfig = savedConfig.reduce((memo, value) => {
                                  if (!value.ignored) {
                                      memo [value.valueId] = value.value;
                                  }
                                  return memo;
                              }, {});
                      
                              jsonConfig = JSON.stringify(jsonConfig);
                      
                          } finally {
                              reportProgress('Disconnecting...');
                      
                              if (context.connection != null) {
                                  context.connection.disconnect();
                              }
                          }
                      };
                      
                      // dp generieren
                      const prefix = '0_userdata.0.'; 
                      const idResolJSON = prefix+"Resol.JSON";
                      const idResolSend = prefix+"Resol.Send";
                      
                      const creatStateList = [
                          {name :idResolJSON, type:"string", role : "value"},
                          {name :idResolSend, type:"boolean", role : "value"}
                      ]
                      
                      async function createState (item){
                          await createStateAsync(item.name, { 
                                  type: item.type,
                                  min: 0,
                                  def: 0,
                                  role: item.role
                              });
                      }
                      
                      async function makeStatList() {
                          creatStateList.forEach (function(item) {
                              createState(item);
                          });
                      }
                      
                      makeStatList();
                      
                      
                      
                      const idAdapter = 'system.adapter.myvbus.0';
                      
                      function instanceSetRun (myState) {
                      	var obj = getObject(idAdapter);
                      	obj.common.enabled=myState;
                          setObject(idAdapter, obj);
                      }
                      
                      
                      async function runShot (saveJSON) {
                          return await runSingleShot(saveJSON);    
                      }
                      
                      async function doSend () {  
                          let myJSON = JSON.parse((await getStateAsync(idResolJSON)).val);
                          // stop myVBUS
                          // Start send configuration
                          instanceSetRun(false);
                          setTimeout (function() {
                              runShot(myJSON)}
                          ,5000);
                      }
                      
                      
                      on({id: idResolSend , change: 'ne', val: true}, function (obj) {
                          doSend();
                      });
                      
                      
                      
                      
                      
                      
                      
                      
                      
                      1 Antwort Letzte Antwort
                      0
                      • B BlackHawk3000

                        Eine Frage an die Resol Profis hier.

                        Habe eine DeltaSol BX Steuerung.
                        Ich möchte über die Nacht Speicher 2 abkühlen lassen.
                        Dazu muss er Relai 2 öffnen und die Pumpe aktivieren.

                        Kann ich über den Adapter und das KM2 Modul, Relai und Pumpe über Blockly aktivieren?

                        Denn leider nutzt die integrierte Speicherkühlung immer erst Speicher 1 zum abkühlen, was mein WarmWasserspeicher ist.

                        GarganoG Offline
                        GarganoG Offline
                        Gargano
                        schrieb am zuletzt editiert von Gargano
                        #262

                        @blackhawk3000 Ich habe jetzt ein Script erstellt zum Schreiben auf den Resol Adapter

                        1 Antwort Letzte Antwort
                        1
                        • GarganoG Gargano

                          @Grizzelbee So, ich hab die erste JS Version die Daten in den RESOL Controller schreibt.

                          Ich brauch aber noch ein paar Angaben von Dir :
                          Wo werden denn die IP und das VBus Passwort gespeichert ?
                          Ich wollte die auslesen und in die Konfigurations-Struc eintragen. Ansonsten muß jeder dies in das Script eintragen.

                          Zur Implementation in myVBus dachte ich mir folgendes :
                          Einmal ein JSON -DP . Da kann man mehrere Konfigurationswerte eintragen.
                          Z.B.

                          [{"valueId": "ORueckkuehlung", "value": 1},{"valueId":"OHolyCool","value": 0}]
                          

                          Die Namen und Typ der Parameter stehen in dem data.js file der jeweiligen Resol-Geräte im Verzeichnis
                          ../src/configuration-optimizers.

                          Dann ein Editor , in dem man einzelne Parameternamen auswählen oder eintragen kann. Dazu wird ein DP angelegt der den Wert beinhaltet. Ändert man den Wert wird dieser zum Resol übertragen.

                          Was meinst Du ?

                          Vorerst kann man mit dem Script auskommen, glaube ich.

                          GrizzelbeeG Offline
                          GrizzelbeeG Offline
                          Grizzelbee
                          Developer
                          schrieb am zuletzt editiert von
                          #263

                          @gargano said in Test Adapter MyVBus v0.0.x GitHub:

                          Wo werden denn die IP und das VBus Passwort gespeichert ?

                          Die werden im Config-Objekt des Adapters gespeichert. Da müsstest du also über getForeignObject dran kommen.
                          Wenn Du mich persönlich nach meiner Meinung fragst, finde ich die Lösung nicht gerade glücklich. Verstehe mich bitte dabei nicht falsch - ich finde es super das du dich um das Schreiben in den Controller kümmerst und das wir eine erste (schnelle) Lösung haben, aber ich würde dem Adapter nur sehr ungern ein solches Script zum schreiben zur Seite stellen. Das ist arg quick-and-dirty.
                          Die erste Frage, die ich mir stelle ist: @Alle: Reicht es aus, wenn wir die Pumpen ansteuern können (in % Schritten)? Oder müssen noch andere Werte geschrieben werden können? Wenn die Pumpen reichen - würde ich das auch gerne über die entsprechenden Datenpunkte des Adapter regeln. Sprich: Wenn dort der Wert der Pumpe-1 von Hand von 0 auf 50 gesetzt wird, soll sie mit halber Drehzahl laufen (wenn unterstützt) - wenn nicht unterstützt geht eben nur 0 und 100 - das muss jeder für sich selbst und seine verwendete Pumpe herausfinden und verwenden. Ein bisschen Doku dazu und das sollte laufen.

                          Ein Script müsste dann jeder nur noch in soweit (und im üblichen Maße) daneben stellen als das es zum Beispiel die Uhrzeit und die Temperatur eines Kreises überwacht und dann dem Adatper sagt: Schmeiß mal Pumpe-1 auf 100% an.
                          Will sagen: Alles Resol-controller spezifische sollten wir versuchen an einer einzigen Stelle zu kapseln (im Adapter) - sonst haben wir Verbindungshandling und einiges andere doppelt. Ich bin mir auch gerade nicht sicher, ob die Controller mit zwei paralleleln, konkurierenden Verbindungen klar kommen, oder ob die zweite dann immer auf die Schnauze fällt. Ich habe da dunkel etwas im Hinterkopf.

                          Als Proof-of-Concept und schnelle Not-Lösung finde ich deine Arbeit aber super und sage: Vielen herzlichen Dank dafür!
                          Würdest du dir zutrauen, das auch direkt im Adapter zu implementieren? Ich würde dann da etwas vorbereiten, wo du ansetzen könntest.

                          Wenn ich den Code richtig lese, liegt die Magie im Optimizer und ab Zeile 126 - richtig?

                          viele Grüße
                          grizzelbee

                          GarganoG 2 Antworten Letzte Antwort
                          0
                          • GrizzelbeeG Grizzelbee

                            @gargano said in Test Adapter MyVBus v0.0.x GitHub:

                            Wo werden denn die IP und das VBus Passwort gespeichert ?

                            Die werden im Config-Objekt des Adapters gespeichert. Da müsstest du also über getForeignObject dran kommen.
                            Wenn Du mich persönlich nach meiner Meinung fragst, finde ich die Lösung nicht gerade glücklich. Verstehe mich bitte dabei nicht falsch - ich finde es super das du dich um das Schreiben in den Controller kümmerst und das wir eine erste (schnelle) Lösung haben, aber ich würde dem Adapter nur sehr ungern ein solches Script zum schreiben zur Seite stellen. Das ist arg quick-and-dirty.
                            Die erste Frage, die ich mir stelle ist: @Alle: Reicht es aus, wenn wir die Pumpen ansteuern können (in % Schritten)? Oder müssen noch andere Werte geschrieben werden können? Wenn die Pumpen reichen - würde ich das auch gerne über die entsprechenden Datenpunkte des Adapter regeln. Sprich: Wenn dort der Wert der Pumpe-1 von Hand von 0 auf 50 gesetzt wird, soll sie mit halber Drehzahl laufen (wenn unterstützt) - wenn nicht unterstützt geht eben nur 0 und 100 - das muss jeder für sich selbst und seine verwendete Pumpe herausfinden und verwenden. Ein bisschen Doku dazu und das sollte laufen.

                            Ein Script müsste dann jeder nur noch in soweit (und im üblichen Maße) daneben stellen als das es zum Beispiel die Uhrzeit und die Temperatur eines Kreises überwacht und dann dem Adatper sagt: Schmeiß mal Pumpe-1 auf 100% an.
                            Will sagen: Alles Resol-controller spezifische sollten wir versuchen an einer einzigen Stelle zu kapseln (im Adapter) - sonst haben wir Verbindungshandling und einiges andere doppelt. Ich bin mir auch gerade nicht sicher, ob die Controller mit zwei paralleleln, konkurierenden Verbindungen klar kommen, oder ob die zweite dann immer auf die Schnauze fällt. Ich habe da dunkel etwas im Hinterkopf.

                            Als Proof-of-Concept und schnelle Not-Lösung finde ich deine Arbeit aber super und sage: Vielen herzlichen Dank dafür!
                            Würdest du dir zutrauen, das auch direkt im Adapter zu implementieren? Ich würde dann da etwas vorbereiten, wo du ansetzen könntest.

                            Wenn ich den Code richtig lese, liegt die Magie im Optimizer und ab Zeile 126 - richtig?

                            viele Grüße
                            grizzelbee

                            GarganoG Offline
                            GarganoG Offline
                            Gargano
                            schrieb am zuletzt editiert von Gargano
                            #264

                            @grizzelbee Der Ansatz war ja zu schauen, ob es überhaupt mit dem Schreiben klappt. Da ist ein Script gerade richtig auch oder gerade deshalb wenn es quick and dirty ist.
                            Im zweiten Schritt sollte das in den myvbus Adapter integriert werden. Einen Vorschlag wie sowas aussehen könnte habe ich ja gemacht.

                            Bei mir war die Schwierigkeit, daß mein Resol-CS2 nicht in der Schreib-Prozedur integriert war, so daß ich ihn erst integrieren mußte.

                            Ich habe noch keinen Adapter gebaut, aber versuchen kann ich es ja. (Mit Deiner Hilfe)
                            Der erste Ansatz vom myvbus-Adapter wäre also das integrieren von den entsprechenden Funktionen in meinem Script. Auslöser zum Senden kann ein (boolean)-DP sein, der dann den JSON-DP ausliest und sendet.

                            Bei mir sind es zwei Werte die ich im Resol setzen muß, deshalb ist der JSON Ansatz universell.

                            Dabei geht es bei mir und wohl auch bei anderen (Blackhawk3000) um spezielle Einstellungen wie Rückkühlung.
                            Ich will die Rückkühlung nur aktivieren, wenn der Puffer schon eine hohe Temperatur hat und die Vorhersage für den nächsten Tag viel Sonne ist, um Stagnation zu vermeiden.

                            Danach kann man auch die UI anpassen.

                            Das Resol Device verträgt nur eine Connection, erst recht die VBus-Lib. Deshalb das Deaktivieren vom myvbus-Adapter in meinem Script.

                            1 Antwort Letzte Antwort
                            0
                            • GrizzelbeeG Grizzelbee

                              @gargano said in Test Adapter MyVBus v0.0.x GitHub:

                              Wo werden denn die IP und das VBus Passwort gespeichert ?

                              Die werden im Config-Objekt des Adapters gespeichert. Da müsstest du also über getForeignObject dran kommen.
                              Wenn Du mich persönlich nach meiner Meinung fragst, finde ich die Lösung nicht gerade glücklich. Verstehe mich bitte dabei nicht falsch - ich finde es super das du dich um das Schreiben in den Controller kümmerst und das wir eine erste (schnelle) Lösung haben, aber ich würde dem Adapter nur sehr ungern ein solches Script zum schreiben zur Seite stellen. Das ist arg quick-and-dirty.
                              Die erste Frage, die ich mir stelle ist: @Alle: Reicht es aus, wenn wir die Pumpen ansteuern können (in % Schritten)? Oder müssen noch andere Werte geschrieben werden können? Wenn die Pumpen reichen - würde ich das auch gerne über die entsprechenden Datenpunkte des Adapter regeln. Sprich: Wenn dort der Wert der Pumpe-1 von Hand von 0 auf 50 gesetzt wird, soll sie mit halber Drehzahl laufen (wenn unterstützt) - wenn nicht unterstützt geht eben nur 0 und 100 - das muss jeder für sich selbst und seine verwendete Pumpe herausfinden und verwenden. Ein bisschen Doku dazu und das sollte laufen.

                              Ein Script müsste dann jeder nur noch in soweit (und im üblichen Maße) daneben stellen als das es zum Beispiel die Uhrzeit und die Temperatur eines Kreises überwacht und dann dem Adatper sagt: Schmeiß mal Pumpe-1 auf 100% an.
                              Will sagen: Alles Resol-controller spezifische sollten wir versuchen an einer einzigen Stelle zu kapseln (im Adapter) - sonst haben wir Verbindungshandling und einiges andere doppelt. Ich bin mir auch gerade nicht sicher, ob die Controller mit zwei paralleleln, konkurierenden Verbindungen klar kommen, oder ob die zweite dann immer auf die Schnauze fällt. Ich habe da dunkel etwas im Hinterkopf.

                              Als Proof-of-Concept und schnelle Not-Lösung finde ich deine Arbeit aber super und sage: Vielen herzlichen Dank dafür!
                              Würdest du dir zutrauen, das auch direkt im Adapter zu implementieren? Ich würde dann da etwas vorbereiten, wo du ansetzen könntest.

                              Wenn ich den Code richtig lese, liegt die Magie im Optimizer und ab Zeile 126 - richtig?

                              viele Grüße
                              grizzelbee

                              GarganoG Offline
                              GarganoG Offline
                              Gargano
                              schrieb am zuletzt editiert von
                              #265

                              @grizzelbee said in Test Adapter MyVBus v0.0.x GitHub:

                              Ich würde dann da etwas vorbereiten, wo du ansetzen könntest.

                              Wann kommst Du dazu, etwas vorzubereiten ?
                              Ich denke die JSON Methode ist universell. Dazu benötige ich 2 Datenpunkte, die beim Installieren angelegt werden : JSON (String) und send (booelan)
                              Im Adapter ein Trigger der auf send reagiert.
                              Das Implementieren vom Senden mach ich dann.
                              Wie machen wir das mit der Synchronisieren vom Polling und Senden , oder ist das durch die Struktur vom Adapter schon gegeben ?

                              1 Antwort Letzte Antwort
                              0
                              • N Offline
                                N Offline
                                NoVinoPhobie
                                schrieb am zuletzt editiert von NoVinoPhobie
                                #266

                                Hallo,

                                ich habe den Resol KM2. Ich hatte vorher ein eigenes Script auf meinem Raspberry Pi laufen, was mir die Werte in eine Datenbank geschrieben hat. Das basierte auch auf den Entwicklungen von Daniel Wippermann. Jetzt ist mir leider die Karte gestorben und ich hab nun ioBroker auf meinem Proxmox in einem Container laufen und hab dazu den Adapter von hier verwendet. Mein Problem ist, der Adapter bekommt immer nur eine kurze Zeit Daten. Die Aktualisierung hab ich auf 600 stehen (hatte ich bei meinem Skript damals auch). Das läuft dann manchmal über 1-2 Stunden. Manchmal aber auch nur einmalig. Danach werden keine Daten mehr aktualisiert. Das steht dann für mehrere Stunden, bekommt dann wieder mal Daten.
                                Starte ich den Resol KM2 neu, entferne das Netzwerkkabel oder starte ioBroker neu, geht es wieder für eine gewisse Zeit. Ein neustart des Adapters funktioniert nicht immer.
                                Ist das Problem bekannt, oder bin ich damit alleine?

                                Viele Grüße
                                Basti

                                GrizzelbeeG 1 Antwort Letzte Antwort
                                0
                                • N NoVinoPhobie

                                  Hallo,

                                  ich habe den Resol KM2. Ich hatte vorher ein eigenes Script auf meinem Raspberry Pi laufen, was mir die Werte in eine Datenbank geschrieben hat. Das basierte auch auf den Entwicklungen von Daniel Wippermann. Jetzt ist mir leider die Karte gestorben und ich hab nun ioBroker auf meinem Proxmox in einem Container laufen und hab dazu den Adapter von hier verwendet. Mein Problem ist, der Adapter bekommt immer nur eine kurze Zeit Daten. Die Aktualisierung hab ich auf 600 stehen (hatte ich bei meinem Skript damals auch). Das läuft dann manchmal über 1-2 Stunden. Manchmal aber auch nur einmalig. Danach werden keine Daten mehr aktualisiert. Das steht dann für mehrere Stunden, bekommt dann wieder mal Daten.
                                  Starte ich den Resol KM2 neu, entferne das Netzwerkkabel oder starte ioBroker neu, geht es wieder für eine gewisse Zeit. Ein neustart des Adapters funktioniert nicht immer.
                                  Ist das Problem bekannt, oder bin ich damit alleine?

                                  Viele Grüße
                                  Basti

                                  GrizzelbeeG Offline
                                  GrizzelbeeG Offline
                                  Grizzelbee
                                  Developer
                                  schrieb am zuletzt editiert von Grizzelbee
                                  #267

                                  Hallo @basti-0

                                  Hmmm. Ich bin mir noch nicht komplett sicher, ob ich das Problem bis ins Detail verstanden habe. Ich frage mich aber garde was gegen einen kürzeren Intervall spricht. Bei mir funktionieren 30 Sekunden perfekt und ich habe auch noch von keinen Problemen diesbezüglich gehört. Das sollte also eigentlich auch mit anderen Intervallen funktionieren.
                                  Was du aber auf jeden Fall als nächstes machen solltest: Bring den Adapter auf dem Instanzen-Tab (im Expertenmodus) in den LogLevel Debug und lass ihn laufen. Mit etwas Glück bekommen wir dann etwas bessere Hinweise was passiert. Bei der Analyse des Log kann ich gerne helfen. Poste es dann einfach hier.

                                  viele grüße
                                  grizzelbee

                                  N 1 Antwort Letzte Antwort
                                  0
                                  • GrizzelbeeG Grizzelbee

                                    Hallo @basti-0

                                    Hmmm. Ich bin mir noch nicht komplett sicher, ob ich das Problem bis ins Detail verstanden habe. Ich frage mich aber garde was gegen einen kürzeren Intervall spricht. Bei mir funktionieren 30 Sekunden perfekt und ich habe auch noch von keinen Problemen diesbezüglich gehört. Das sollte also eigentlich auch mit anderen Intervallen funktionieren.
                                    Was du aber auf jeden Fall als nächstes machen solltest: Bring den Adapter auf dem Instanzen-Tab (im Expertenmodus) in den LogLevel Debug und lass ihn laufen. Mit etwas Glück bekommen wir dann etwas bessere Hinweise was passiert. Bei der Analyse des Log kann ich gerne helfen. Poste es dann einfach hier.

                                    viele grüße
                                    grizzelbee

                                    N Offline
                                    N Offline
                                    NoVinoPhobie
                                    schrieb am zuletzt editiert von
                                    #268

                                    hallo @grizzelbee

                                    Habs vielleicht etwas schwierig beschrieben. Hier mal ein Beispiel wie die Aufzeichnung aussieht wenn es nicht mehr geht gegenüber dem wenn es mal wieder gut läuft.
                                    6f081ca3-b788-4471-8f3b-6867595c4009-image.png
                                    Links der Teil wenn er sich Daten abholt und dann "aufhängt". Hab da immer den KM2 neugestartet.
                                    Die Logfiles zieh ich raus sobald das Problem wieder auftaucht. Vorführeffekt - es läuft mal wieder.

                                    GrizzelbeeG 1 Antwort Letzte Antwort
                                    0
                                    • N NoVinoPhobie

                                      hallo @grizzelbee

                                      Habs vielleicht etwas schwierig beschrieben. Hier mal ein Beispiel wie die Aufzeichnung aussieht wenn es nicht mehr geht gegenüber dem wenn es mal wieder gut läuft.
                                      6f081ca3-b788-4471-8f3b-6867595c4009-image.png
                                      Links der Teil wenn er sich Daten abholt und dann "aufhängt". Hab da immer den KM2 neugestartet.
                                      Die Logfiles zieh ich raus sobald das Problem wieder auftaucht. Vorführeffekt - es läuft mal wieder.

                                      GrizzelbeeG Offline
                                      GrizzelbeeG Offline
                                      Grizzelbee
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #269

                                      @basti-0

                                      Soweit hatte ich das schon verstanden. Warum es unbedingt ein 5 Minuten Intervall sein soll verstehe ich nicht so richtig. Das sollte allen Komponenten eigentlich egal sein. Aber eben auch wenn es wirklich 5 Minuten sind.
                                      Wir werden sehen was das Log so zeigt.
                                      Ich habe übrigens selber einen KM2, der über eine DeltaSol CS Plus wacht. Das läuft super stabil - es sei denn das die WLAN Verbindung doof spielt. 😉

                                      N 1 Antwort Letzte Antwort
                                      0
                                      • GrizzelbeeG Grizzelbee

                                        @basti-0

                                        Soweit hatte ich das schon verstanden. Warum es unbedingt ein 5 Minuten Intervall sein soll verstehe ich nicht so richtig. Das sollte allen Komponenten eigentlich egal sein. Aber eben auch wenn es wirklich 5 Minuten sind.
                                        Wir werden sehen was das Log so zeigt.
                                        Ich habe übrigens selber einen KM2, der über eine DeltaSol CS Plus wacht. Das läuft super stabil - es sei denn das die WLAN Verbindung doof spielt. 😉

                                        N Offline
                                        N Offline
                                        NoVinoPhobie
                                        schrieb am zuletzt editiert von
                                        #270

                                        @grizzelbee
                                        Ich bin einen Schritt weiter und weiß, dass es nicht an dem Adapter liegt. Entweder liegt es generell an meinem System oder an irgendeiner Hardware. Wir hatten einen längeren Stromausfall und seitdem läuft der vbus Adapter Störungsfrei. Seitdem habe ich allerdings keinen Zugriff mehr auf meine Heizung. Entweder hat der Netzwerkstrang zum Keller irgendwas, oder der Switch an dem alles dran hängt. Ich hab übrigens die Abfrage auf 60 Sekunden reduziert. Das aber nur am Rande.
                                        Danke für deinen Support!

                                        1 Antwort Letzte Antwort
                                        0
                                        • P pdbjjens

                                          @FoxRo said in Test Adapter MyVBus v0.0.x GitHub:

                                          Das vorgegebene Standardpasswort "vbus" scheint aber irgendwie nicht korrekt zu sein.

                                          Zunächst mal danke für das Feedback. Damit wir klären können, was da passiert ist, bräuchte ich die Info, welche myvbus Version Du installiert hast (0.1.0 über GitHub oder 0.0.6 über iobroker latest?).

                                          Es wäre außerdem schön, wenn Du noch die paar Fragen (siehe Post #1, oben) zu Deiner Resol-Vbus-Hardwarekonfiguration (also Resol Reglertyp, Verbindungsgerät (VBus/LAN, KM2, DL3 etc.) beantworten und/oder einen screenshot des Objektbaums senden würdest sowie uns die Erlaubnis erteilen würdest, diese Info anonym z.B. in den Release-Notes des myvbus Adapters zu verwenden.

                                          F Offline
                                          F Offline
                                          FoxRo
                                          schrieb am zuletzt editiert von
                                          #271

                                          @pdbjjens
                                          Ohh Mann, sorry vielmals dass ich hier nicht geantwortet habe. Ist bei mir völlig unter gegangen, und da der Adapter bei mir so stabil läuft ... hab ich Deine Fragen total vergessen. Sorry.
                                          Brauchst Du meine Angaben überhaupt noch oder hat sich das unterdessen erledigt?
                                          Sorry und viele Grüsse, Roli

                                          P 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          655

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe