Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus

NEWS

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

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

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

Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
canbuscanbus adapterrotex hpsu
522 Beiträge 25 Kommentatoren 105.1k Aufrufe 20 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.
  • E euro

    @crycode said in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

    Bei verdrillten Leitungen und der relativ geringen Baudrate darf die Leitung dann auch durchaus etwas länger sein.

    Moin
    tolles Projekt crycode!
    So eine Daikin wird ziemlich wahrscheinlich auch bei uns einziehen, daher komme ich nochmal auf die Kabellänge zurück.
    Beim Einsatz von S/FTP Kabeln, wie lange schätzt du darf man das Kabel denn hier machen?
    Wären 10m oder gar 15m noch realistisch funktional?

    mfg STefan

    crycodeC Offline
    crycodeC Offline
    crycode
    Developer
    schrieb am zuletzt editiert von
    #101

    @euro sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

    Beim Einsatz von S/FTP Kabeln, wie lange schätzt du darf man das Kabel denn hier machen?
    Wären 10m oder gar 15m noch realistisch funktional?

    Auf jeden Fall. Bei verdrillten und geschirmten Adernpaaren sind beim CAN-Bus mit 20 kbit/s bis zu 3,3 km Kabellänge möglich.
    Ich habe den ersten Post mal um ein paar Infos dazu erweitert.

    Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

    1 Antwort Letzte Antwort
    0
    • E Offline
      E Offline
      euro
      schrieb am zuletzt editiert von
      #102

      perfekt, da sollte ich drunter bleiben :grin:

      mein ioB läuft in einem Pi im Docker, durchreichen vom CAN HAT sollte doch genauso gehen wie für enocean stick und jeelink clone funktionieren, oder gibt es sonstige Tips?

      mfg STefan

      crycodeC 1 Antwort Letzte Antwort
      0
      • E euro

        perfekt, da sollte ich drunter bleiben :grin:

        mein ioB läuft in einem Pi im Docker, durchreichen vom CAN HAT sollte doch genauso gehen wie für enocean stick und jeelink clone funktionieren, oder gibt es sonstige Tips?

        mfg STefan

        crycodeC Offline
        crycodeC Offline
        crycode
        Developer
        schrieb am zuletzt editiert von
        #103

        @euro Das CAN-Interface ist im System eine Netzwerkschnittstelle. Da hast du zwei Möglichkeiten, um das in den Docker-Container zu bekommen:

        Option 1 - Host-Netzwerk im Container verwenden.

        Mit dem Parameter --network=host beim Start des Docker-Containers, nutzt der Container das selbe Netzwerk wie der Host (dein Raspi). Inwiefern das bei dir Sinnvoll ist, musst du selbst entscheiden.

        Option 2 - Datenpakete vom can0 Interface per UDP an den Container leiten.

        Eine Anleitung dazu habe ich hier geschrieben: https://crycode.de/socketcan-ueber-ethernet-mit-cannelloni
        Die Anleitung nutzt zwei getrennte Rechner. Bei dir ist dann der eine Rechner dein Host und der zweite der Container. Hier sollte man noch dazu überlegen, wie man das sinnvoll in den Container einbaut, sodass das auch bei einem Neustart erhalten bleibt.

        Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

        1 Antwort Letzte Antwort
        1
        • E Offline
          E Offline
          euro
          schrieb am zuletzt editiert von
          #104

          Danke!
          die option2 hab ich weiter oben schon gelesen

          ioBroker läuft schon im Netzwerk Host Mode, alle anderen Container haben ein dediziertes bekommen.
          Könnte dann evtl sogar recht einfach gehen

          crycodeC 1 Antwort Letzte Antwort
          0
          • E euro

            Danke!
            die option2 hab ich weiter oben schon gelesen

            ioBroker läuft schon im Netzwerk Host Mode, alle anderen Container haben ein dediziertes bekommen.
            Könnte dann evtl sogar recht einfach gehen

            crycodeC Offline
            crycodeC Offline
            crycode
            Developer
            schrieb am zuletzt editiert von
            #105

            @euro sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

            ioBroker läuft schon im Netzwerk Host Mode

            Dann solltest du sogar direkt im Container das can0 Interface zur Verfügung haben. :)

            Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

            E 1 Antwort Letzte Antwort
            1
            • crycodeC crycode

              @euro sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

              ioBroker läuft schon im Netzwerk Host Mode

              Dann solltest du sogar direkt im Container das can0 Interface zur Verfügung haben. :)

              E Offline
              E Offline
              euro
              schrieb am zuletzt editiert von
              #106

              hab grad mal mit Daikin telefoniert
              die neuen E Serien der Altherma die ab ~ April ausgeliefert werden, kommunizieren via modbus
              d.h. das CAN Modul wird bei mir wohl eh nicht mehr funktionieren

              lassen wir uns mal überraschen

              crycodeC 1 Antwort Letzte Antwort
              1
              • E euro

                hab grad mal mit Daikin telefoniert
                die neuen E Serien der Altherma die ab ~ April ausgeliefert werden, kommunizieren via modbus
                d.h. das CAN Modul wird bei mir wohl eh nicht mehr funktionieren

                lassen wir uns mal überraschen

                crycodeC Offline
                crycodeC Offline
                crycode
                Developer
                schrieb am zuletzt editiert von
                #107

                @euro Oh, das ist natürlich weniger schön... Aber gut zu wissen, danke für die Info!

                Vom Modbus habe ich bislang überhaupt keine Ahnung, aber für gibt es zumindest auch einen Adapter: https://github.com/ioBroker/ioBroker.modbus

                Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                1 Antwort Letzte Antwort
                1
                • crycodeC crycode

                  Über meinen Adapter ioBroker.canbus (Adaptervorstellung im Forum) ist die Einbindung einer Rotex HPSU bzw. Daikin Altherma Wärmepumpe mittlerweile relativ einfach möglich.

                  Um die Diskussionen bezüglich der Wärmepumpen etwas vom Adapter-Test zu entkoppeln nun dieses Thema hier.
                  Alles vorangegangene ist im Adapter-Test-Thema zu finden.

                  Dank der Mithilfe von @michael-wind, @cb187 und @shortcircuit0815 ist im Adapter auch eine vordefinierte Konfiguration für diese Wärmepumpen verfügbar, welche direkt geladen werden kann.
                  (Ich selbst habe diese Hardware nicht!)

                  @RaspiUser hat die Installation und Einrichtung in einer kurzen Anleitung zusammengefasst: Anleitung CAN Bus Installation.pdf

                  Alle Angaben nach bestem Wissen und Gewissen, aber ohne Gewähr und jegliche Haftung für ggf. entstehende Schäden wird ausgeschlossen.


                  Allgemeine Infos

                  Auslesen und Setzen vieler Parameter der einzelnen Module der Wärmepumpe.
                  Keine speziellen Zugriffsrechte erforderlich.
                  Getestet mit Rotex HPSU compact 516 (Baujahr 2013/2017) und Altherma 3 ECH2O.

                  Die Kommunikation auf dem CAN-Bus erfolgt hier mit 20 kbit/s und Nachrichten im Standard-Frame-Format (SFF).

                  Die CAN-Nachrichten-ID ist jeweils die ID des sendenden Gerätes. Die Identifikation der einzelnen Nachrichteninhalte ist in den ersten Daten-Bytes der einzelnen Nachrichten enthalten.

                  Gerät CAN-ID
                  RoCon 10A
                  Kessel 180
                  HPSU Bedienmodul 300
                  HPSU Heizmodul 500
                  Remote-Software 680

                  Zusätzliche Infos zum Aufbau der Nachrichten sind hier zu finden.


                  Daten in ioBroker

                  Damit Daten im ioBroker ankommen, müssen diese aktiv von der Wärmepumpe abgefragt werden. Dies kann beispielsweise vom Bedienmodul oder auch vom ioBroker aus über die entsprechenden States unter der Nachrichten-ID 680 erfolgen.

                  Sollen Daten regelmäßig abgefragt werden, so kann in der Adapterkonfiguration beim entsprechenden Parser die Option Automatisch einen bestimmten Wert setzen mit dem gewünschten Intervall aktiviert werden.

                  Änderungen an Einstellungen der Wäremepumpe sind über die -set-States unter der Nachrichten-ID 680 möglich.

                  Damit beim Ändern von Werten die gesetzten Werte automatisch auch in ioBroker "ankommen", kann über den Javascript-Adapter ein eigenes Script erstellt werden, welches nach dem Ändern eines -set-States die zugehörige Abfrage triggern:

                  /*
                   * Aktuellen Wert automatisch nach dem Setzen eines Wertes abfragen, sofern möglich.
                   */
                  on({ id: /^canbus\.0\.680\..+-set$/, change: 'any', ack: true }, async (obj) => {
                    const id = obj.id.replace(/-set$/, '');
                    const exists = await existsObjectAsync(id);
                    if (exists) {
                      await new Promise((resolve) => setTimeout(resolve, 500)); // 500ms warten, damit Änderung übernommen wurde
                      await setStateAsync(id, true);
                    }
                  });
                  

                  Technische Infos

                  Kabellänge

                  Die nutzbare Kabellänge ist vor allem vom verwendeten Kabeltyp und von der Baudrate abhängig.

                  Bei dem Kabel sollte auf jeden Fall auf ein verdrilltes Adernpaar von CAN-H und CAN-L geachtet werden. Zudem ist besonders bei Längen über 1 m eine Schirmung immer gut. Ich habe hier sehr gute Erfahrungen mit S/FTP Kabeln, die sonst hauptsächlich für Ethernet eingesetzt werden, gemacht.

                  Bei der hier verwendeten Baudrate von 20 kbit/s beträgt die maximale Kabellänge stolze 3,3 km. Dies hängt natürlich auch noch diversen anderen Faktoren mit ab, aber für den Einsatz in einem Gebäude sollte das locker ausreichen.

                  Elektroniker86E Offline
                  Elektroniker86E Offline
                  Elektroniker86
                  schrieb am zuletzt editiert von
                  #108

                  @crycode

                  Moin,
                  ich bin nicht so der script pro, deshalb die Frage zu deinem Script ganz oben zum triggern der Abfragen.
                  Kann ich das so bei mir importieren oder muss ich es irgendwie auf meine Installation anpassen?
                  Und ist das Script für ein Wert oder reicht dieses um alle Datenpunkte zu überwachen?

                  Vielen Dank im voraus für deine Rückmeldung!

                  crycodeC 1 Antwort Letzte Antwort
                  0
                  • Elektroniker86E Elektroniker86

                    @crycode

                    Moin,
                    ich bin nicht so der script pro, deshalb die Frage zu deinem Script ganz oben zum triggern der Abfragen.
                    Kann ich das so bei mir importieren oder muss ich es irgendwie auf meine Installation anpassen?
                    Und ist das Script für ein Wert oder reicht dieses um alle Datenpunkte zu überwachen?

                    Vielen Dank im voraus für deine Rückmeldung!

                    crycodeC Offline
                    crycodeC Offline
                    crycode
                    Developer
                    schrieb am zuletzt editiert von
                    #109

                    @elektroniker86 Das Script kannst du so direkt übernehmen, ohne irgendwas anzupassen, solange der Adapter bei dir als canbus.0 läuft.
                    Das Script erkennt dann automatisch bei allen States unter 680 mit -set am Ende, wenn es eine Änderung gab und triggert 500ms später dem zugehörigen Abfrage-State an. Dadurch bekommst du dann die Rückmeldung für eine Änderungen direkt im ioBroker angezeigt.

                    Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                    Elektroniker86E 1 Antwort Letzte Antwort
                    1
                    • crycodeC crycode

                      @elektroniker86 Das Script kannst du so direkt übernehmen, ohne irgendwas anzupassen, solange der Adapter bei dir als canbus.0 läuft.
                      Das Script erkennt dann automatisch bei allen States unter 680 mit -set am Ende, wenn es eine Änderung gab und triggert 500ms später dem zugehörigen Abfrage-State an. Dadurch bekommst du dann die Rückmeldung für eine Änderungen direkt im ioBroker angezeigt.

                      Elektroniker86E Offline
                      Elektroniker86E Offline
                      Elektroniker86
                      schrieb am zuletzt editiert von
                      #110

                      @crycode
                      Tip Top genau das wollte ich wissen.
                      DANKE!

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        andy999
                        schrieb am zuletzt editiert von
                        #111

                        Hallo Kann mir von euch hier jemand bitte weiter helfen. Meine HPSU übernimmt den State Wert nämlich nicht -

                        Siehe unteren Link bzw. Code:
                        HPSU spricht nicht an

                        var timeout, memoryMODUS, timeout2;
                        
                        
                        on({id: 'canbus.0.180.fa0a8c', change: "lt"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("canbus.0.180.fa0a8c").val == false) {
                            (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                            timeout = setTimeout(async function () {
                              setState("javascript.0.jsState-SWING-Timer"/*jsState-SWING-Timer*/, 1, true);
                            }, 140000);
                          }
                        });
                        on({id: 'javascript.0.jsState-SWING-Timer', change: "any"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("javascript.0.jsState-SWING-Timer").val == 1 && getState("canbus.0.180.02").val > 0) {
                            memoryMODUS = getState("canbus.0.180.fa0112").val;
                            setStateDelayed("canbus.0.680.fa0112-set"/*Modus setzen*/, 1, 1000, true);
                            setStateDelayed("canbus.0.680.fa0112-set"/*Modus setzen*/, memoryMODUS, 4000, true);
                          }
                        });
                        on({id: 'javascript.0.jsState-SWING-Timer', change: "any"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("javascript.0.jsState-SWING-Timer").val == 1) {
                            (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})();
                            timeout2 = setTimeout(async function () {
                              setState("javascript.0.jsState-SWING-Timer"/*jsState-SWING-Timer*/, 0, true);
                            }, 35000);
                          }
                        });
                        
                        
                        crycodeC 1 Antwort Letzte Antwort
                        0
                        • A andy999

                          Hallo Kann mir von euch hier jemand bitte weiter helfen. Meine HPSU übernimmt den State Wert nämlich nicht -

                          Siehe unteren Link bzw. Code:
                          HPSU spricht nicht an

                          var timeout, memoryMODUS, timeout2;
                          
                          
                          on({id: 'canbus.0.180.fa0a8c', change: "lt"}, async function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            if (getState("canbus.0.180.fa0a8c").val == false) {
                              (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                              timeout = setTimeout(async function () {
                                setState("javascript.0.jsState-SWING-Timer"/*jsState-SWING-Timer*/, 1, true);
                              }, 140000);
                            }
                          });
                          on({id: 'javascript.0.jsState-SWING-Timer', change: "any"}, async function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            if (getState("javascript.0.jsState-SWING-Timer").val == 1 && getState("canbus.0.180.02").val > 0) {
                              memoryMODUS = getState("canbus.0.180.fa0112").val;
                              setStateDelayed("canbus.0.680.fa0112-set"/*Modus setzen*/, 1, 1000, true);
                              setStateDelayed("canbus.0.680.fa0112-set"/*Modus setzen*/, memoryMODUS, 4000, true);
                            }
                          });
                          on({id: 'javascript.0.jsState-SWING-Timer', change: "any"}, async function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            if (getState("javascript.0.jsState-SWING-Timer").val == 1) {
                              (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})();
                              timeout2 = setTimeout(async function () {
                                setState("javascript.0.jsState-SWING-Timer"/*jsState-SWING-Timer*/, 0, true);
                              }, 35000);
                            }
                          });
                          
                          
                          crycodeC Offline
                          crycodeC Offline
                          crycode
                          Developer
                          schrieb am zuletzt editiert von
                          #112

                          @andy999 Wird denn von deinem Script der Wert von canbus.0.680.fa0112-set gesetzt, wenn du es im Admin unter Objekte beobachtest? Wenn ja, wäre die Frage ob mit ack: false oder ack: true. Um das genau zu sehen kannst du mal folgendes in deinem Script hinzufügen. Das erstellt bei jeder Änderung des States einen Logeintrag:

                          on({ id: 'canbus.0.680.fa0112-set', change: 'any' }, (obj) => {
                            log(`${obj.id} changed => val: ${obj.state.val} ack: ${obj.state.ack}`);
                          });
                          

                          Im Idealfall solltest du damit immer zwei Logeinträge kurz hintereinander sehen. Einen mit ack: false (von deiner Aktion) und dann einen mit ack: true (Bestätigung vom Adapter).

                          Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                          A 1 Antwort Letzte Antwort
                          0
                          • crycodeC crycode

                            @andy999 Wird denn von deinem Script der Wert von canbus.0.680.fa0112-set gesetzt, wenn du es im Admin unter Objekte beobachtest? Wenn ja, wäre die Frage ob mit ack: false oder ack: true. Um das genau zu sehen kannst du mal folgendes in deinem Script hinzufügen. Das erstellt bei jeder Änderung des States einen Logeintrag:

                            on({ id: 'canbus.0.680.fa0112-set', change: 'any' }, (obj) => {
                              log(`${obj.id} changed => val: ${obj.state.val} ack: ${obj.state.ack}`);
                            });
                            

                            Im Idealfall solltest du damit immer zwei Logeinträge kurz hintereinander sehen. Einen mit ack: false (von deiner Aktion) und dann einen mit ack: true (Bestätigung vom Adapter).

                            A Offline
                            A Offline
                            andy999
                            schrieb am zuletzt editiert von andy999
                            #113

                            @crycode Hi, besten Dank für die rasche Antwort, habe unter den Objekten den Wert händisch auf 1 gesetzt, und der wurde tadellos übernommen, auch in der HPSU selber. Hab folgendes im LOG:

                            12:40:02.144	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 1 ack: false
                            12:40:02.853	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 1 ack: true
                            

                            und wieder zurück auf 3 (heizen) auch ohne Probleme:

                            12:40:16.756	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 3 ack: false
                            12:40:17.503	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 3 ack: true
                            

                            Es hat mir aber keine ruhe gelassen, deswegen hab ich danach über den Trigger -Zeitplan (alle 10s) den Block Steuere UND Schreibe 1:1 (aktualisieren funktionierte nicht) übernommen und mit dem wurde der Wert in der HPSU tatsächlich übernommen.

                            Also jetzt verstehe ich nix mehr, wie im Link schon beschrieben werden im Trigger-Falls bestimmte Objekte bzw. Werte übernommen und andere leider nicht? Was mache ich hier falsch?

                            P.S. arbeite bevorzugter weise mit Blockly

                            crycodeC 1 Antwort Letzte Antwort
                            0
                            • Elektroniker86E Offline
                              Elektroniker86E Offline
                              Elektroniker86
                              schrieb am zuletzt editiert von
                              #114

                              Guten Abend,

                              da es jetzt wieder viele Sonnenstunden gibt habe ich mir ein kleines Blockly gebaut, dass mir bei vollem PV Speicher und Überschuss die Smart Grid Eingänge schaltet um den WWSpeicher mit einer höheren Temperatur zu laden.
                              Jetzt wollte ich hier mal ein paar Meinungen zu meinem Vorhaben hören und ob das Blockly so passt oder ob es Verbesserungsvorschläge von euch gibt?

                              Hier das Blockly und die Eckdaten:

                              Smart Grid Tabelle.jpg

                              Smart Grid Einstellungen.jpg

                              Screenshot 2022-03-21 230823.jpg

                              Bin gespannnt auf eure Meinungen

                              C crycodeC 2 Antworten Letzte Antwort
                              0
                              • Elektroniker86E Elektroniker86

                                Guten Abend,

                                da es jetzt wieder viele Sonnenstunden gibt habe ich mir ein kleines Blockly gebaut, dass mir bei vollem PV Speicher und Überschuss die Smart Grid Eingänge schaltet um den WWSpeicher mit einer höheren Temperatur zu laden.
                                Jetzt wollte ich hier mal ein paar Meinungen zu meinem Vorhaben hören und ob das Blockly so passt oder ob es Verbesserungsvorschläge von euch gibt?

                                Hier das Blockly und die Eckdaten:

                                Smart Grid Tabelle.jpg

                                Smart Grid Einstellungen.jpg

                                Screenshot 2022-03-21 230823.jpg

                                Bin gespannnt auf eure Meinungen

                                C Offline
                                C Offline
                                cb187
                                schrieb am zuletzt editiert von
                                #115

                                @elektroniker86
                                Hi mir wäre es neu das du über den Adapter die Relaisausgänge schalten kannst.Ich glaube eher nicht.

                                Elektroniker86E 1 Antwort Letzte Antwort
                                0
                                • A andy999

                                  @crycode Hi, besten Dank für die rasche Antwort, habe unter den Objekten den Wert händisch auf 1 gesetzt, und der wurde tadellos übernommen, auch in der HPSU selber. Hab folgendes im LOG:

                                  12:40:02.144	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 1 ack: false
                                  12:40:02.853	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 1 ack: true
                                  

                                  und wieder zurück auf 3 (heizen) auch ohne Probleme:

                                  12:40:16.756	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 3 ack: false
                                  12:40:17.503	info	javascript.0 (1422) script.js.HPSU-Test.SWING_-_java: canbus.0.680.fa0112-set changed => val: 3 ack: true
                                  

                                  Es hat mir aber keine ruhe gelassen, deswegen hab ich danach über den Trigger -Zeitplan (alle 10s) den Block Steuere UND Schreibe 1:1 (aktualisieren funktionierte nicht) übernommen und mit dem wurde der Wert in der HPSU tatsächlich übernommen.

                                  Also jetzt verstehe ich nix mehr, wie im Link schon beschrieben werden im Trigger-Falls bestimmte Objekte bzw. Werte übernommen und andere leider nicht? Was mache ich hier falsch?

                                  P.S. arbeite bevorzugter weise mit Blockly

                                  crycodeC Offline
                                  crycodeC Offline
                                  crycode
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #116

                                  @andy999 sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

                                  Es hat mir aber keine ruhe gelassen, deswegen hab ich danach über den Trigger -Zeitplan (alle 10s) den Block Steuere UND Schreibe 1:1 (aktualisieren funktionierte nicht) übernommen und mit dem wurde der Wert in der HPSU tatsächlich übernommen.
                                  Also jetzt verstehe ich nix mehr, wie im Link schon beschrieben werden im Trigger-Falls bestimmte Objekte bzw. Werte übernommen und andere leider nicht? Was mache ich hier falsch?

                                  Wenn du willst, dass ein Adapter auf eine Änderung von dir reagiert, dann musst du immer "steuere" nehmen. Bei "steuere" wird das ack-Flag auf false gesetzt, was einem Befehl entspricht und woraufhin ein Adapter reagiert und nach seiner Aktion als Bestätigung ack auf true setzt.
                                  Wenn du hingegen "aktualisiere" nimmst, dann wird ack gleich auf true gesetzt. Damit legst du dann nur den Wert fest, aber löst keine Steuerung aus, da (alle) Adapter nur auf Änderungen mit ack: false reagieren.

                                  Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                                  A 1 Antwort Letzte Antwort
                                  0
                                  • Elektroniker86E Elektroniker86

                                    Guten Abend,

                                    da es jetzt wieder viele Sonnenstunden gibt habe ich mir ein kleines Blockly gebaut, dass mir bei vollem PV Speicher und Überschuss die Smart Grid Eingänge schaltet um den WWSpeicher mit einer höheren Temperatur zu laden.
                                    Jetzt wollte ich hier mal ein paar Meinungen zu meinem Vorhaben hören und ob das Blockly so passt oder ob es Verbesserungsvorschläge von euch gibt?

                                    Hier das Blockly und die Eckdaten:

                                    Smart Grid Tabelle.jpg

                                    Smart Grid Einstellungen.jpg

                                    Screenshot 2022-03-21 230823.jpg

                                    Bin gespannnt auf eure Meinungen

                                    crycodeC Offline
                                    crycodeC Offline
                                    crycode
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #117

                                    @elektroniker86 Wie sehen denn die EVG und SG Eingänge aus? Ich würde vermuten, dass das Hardwareeingänge sind, die du dann extern beschalten müsstest.

                                    @cb187 sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

                                    Hi mir wäre es neu das du über den Adapter die Relaisausgänge schalten kannst.Ich glaube eher nicht.

                                    Grundsätzlich sollte sich über den Adapter alles schalten lassen, was du auch über die originale Steuerung schalten kannst. Ggf. müsste man nur entsprechende Parser hinzufügen.

                                    Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                                    C 1 Antwort Letzte Antwort
                                    0
                                    • crycodeC crycode

                                      @elektroniker86 Wie sehen denn die EVG und SG Eingänge aus? Ich würde vermuten, dass das Hardwareeingänge sind, die du dann extern beschalten müsstest.

                                      @cb187 sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

                                      Hi mir wäre es neu das du über den Adapter die Relaisausgänge schalten kannst.Ich glaube eher nicht.

                                      Grundsätzlich sollte sich über den Adapter alles schalten lassen, was du auch über die originale Steuerung schalten kannst. Ggf. müsste man nur entsprechende Parser hinzufügen.

                                      C Offline
                                      C Offline
                                      cb187
                                      schrieb am zuletzt editiert von
                                      #118

                                      @crycode ja das sind potentialfreie Relaiseingänge.Dürfte nicht anders funktionieren.

                                      1 Antwort Letzte Antwort
                                      0
                                      • crycodeC crycode

                                        @andy999 sagte in Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus:

                                        Es hat mir aber keine ruhe gelassen, deswegen hab ich danach über den Trigger -Zeitplan (alle 10s) den Block Steuere UND Schreibe 1:1 (aktualisieren funktionierte nicht) übernommen und mit dem wurde der Wert in der HPSU tatsächlich übernommen.
                                        Also jetzt verstehe ich nix mehr, wie im Link schon beschrieben werden im Trigger-Falls bestimmte Objekte bzw. Werte übernommen und andere leider nicht? Was mache ich hier falsch?

                                        Wenn du willst, dass ein Adapter auf eine Änderung von dir reagiert, dann musst du immer "steuere" nehmen. Bei "steuere" wird das ack-Flag auf false gesetzt, was einem Befehl entspricht und woraufhin ein Adapter reagiert und nach seiner Aktion als Bestätigung ack auf true setzt.
                                        Wenn du hingegen "aktualisiere" nimmst, dann wird ack gleich auf true gesetzt. Damit legst du dann nur den Wert fest, aber löst keine Steuerung aus, da (alle) Adapter nur auf Änderungen mit ack: false reagieren.

                                        A Offline
                                        A Offline
                                        andy999
                                        schrieb am zuletzt editiert von
                                        #119

                                        @crycode Das war mir schon klar, das dass mit aktualisieren nicht funktionieren wird.
                                        Hab nun nach langen hin und her (hab mir einen HMI-Virtualen Schalter fürs testen erstellt) herausgefunden, dass in der einen FALLS Instanz nicht zwei STEUERE drinnen sein dürfen. Habe nach der Fehlersuche also unten noch eine zusätzliche Falls Instanz hinzugefügt und nun hats zumindest mit meinen HMI-Schalter funktioniert. Ich lasse das ganze auf der HPSU über Nacht laufen, mal schauen ob alles hinhaut.

                                        P.S. Die o.g. trixerei wird wohl einen BUG im Blockly verschuldet sein weil ich es mir sonst nicht erklären kann.

                                        xyxyxy.jpg

                                        1 Antwort Letzte Antwort
                                        0
                                        • C cb187

                                          @elektroniker86
                                          Hi mir wäre es neu das du über den Adapter die Relaisausgänge schalten kannst.Ich glaube eher nicht.

                                          Elektroniker86E Offline
                                          Elektroniker86E Offline
                                          Elektroniker86
                                          schrieb am zuletzt editiert von
                                          #120

                                          @cb187

                                          Da hast Du vollkommen recht. Ich schalte die Eingange mit einer SPS über ioBroker.

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          343

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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