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. Skripten / Logik
  4. JavaScript
  5. [Problem] Helios KWL - Zugriff auf Modbus

NEWS

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

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

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

[Problem] Helios KWL - Zugriff auf Modbus

Geplant Angeheftet Gesperrt Verschoben JavaScript
2 Beiträge 2 Kommentatoren 958 Aufrufe 2 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.
  • M Offline
    M Offline
    moehre
    schrieb am zuletzt editiert von moehre
    #1

    Hallo zusammen,

    ich bin seit ca 2 Wochen mit iobroker unterwegs und genieße noch meine Experimentierphase.
    Mit vielen Adaptern klappt es super. Allerdings habe ich jetzt ein Problem, das ich mit JS lösen muss. Da ich davon keine Ahnung habe, bitte ich euch um Hilfe:

    Ich möchte gerne die Werte meiner Helios KWL EC 300 W auslesen. (Ändern wäre der nächste Schritt...)
    Es gibt dazu 3 Ansätze: Via API auf die webbasierte Steuerung zugreifen; auf lokalem Webserver befindliche xml auslesen; lokal via Modbus TCP. Aktuell versuche ich mich an letzterem, zum xml-Thema schreibe ich noch einen anderen Thread - da habe ich genauso Probleme, allerdings aus anderen Gründen.

    Die, so weit ich verstanden habe, Besonderheit der Helios ist, dass ich erst Werte schreiben muss und im Anschluss wieder auslese. Es gibt also keine festen Adressen pro Wert. So weit ich verstehe, kann das der modbus-Adapter so nicht umsetzen. Sollte ich mich irren, bitte ich um einen Hinweis.

    Was ich probiert habe:
    Zusätzliches NPM-Modul "modbus-serial" in JS eintragen. Und mit den bei NPM und Github zu findenden Examples rumspielen. Für viel mehr reichts noch nicht, aber ich arbeite daran...

    var ModbusRTU = require("modbus-serial");
    var client = new ModbusRTU();
     
    // Verbindung herstellen
    client.connectTCP("192.168.178.22", { port: 502 });
    client.setID(180);
    
    function write() { 
        // Schreibe Werte in HoldingRegister ab Adresse 1
        client.writeRegisters(1, [0x7430, 0x3030, 0x3034, 0x0000])
            .then(read);
    }
     
    function read() {
        // Lese 10 HoldingRegister ab Adresse 1
        client.readHoldingRegisters(1, 10)
            .then(console.log);
    };
    
    
    schedule('*/5 * * * * *', read);
    

    Port ist der übliche 502.
    Die ID ist grundsätzlich 180.
    Es wird ausschließlich in den HoldingRegisters geschrieben und gelesen.
    Startadresse ist immer 1.
    Mehr Details in der Dokumentation von Helios dazu.

    Hier steckt noch keinerlei Zuweisung zu einem Datenpunkt drin, das klappt dann später auch noch. Erstmal wäre es schön, wenn ich Daten schreiben und lesen könnte.
    Wenn ich die Daten unter Windows mit einem Tool schreibe und lese, klappt alles wunderbar. Leider beweist die Gegenprobe: In o.g. Code funktioniert weder schreiben noch lesen.
    Und selbst, wenn ich umfangreiche Beispiele abstrahiere, wie dieses hier von github, kommt dabei nichts rum außer Fehlermeldungen.

    Wer kann mir hier auf die Sprünge helfen?

    Danke und Grüße!

    Edit: Titel angepasst

    M 1 Antwort Letzte Antwort
    0
    • M moehre

      Hallo zusammen,

      ich bin seit ca 2 Wochen mit iobroker unterwegs und genieße noch meine Experimentierphase.
      Mit vielen Adaptern klappt es super. Allerdings habe ich jetzt ein Problem, das ich mit JS lösen muss. Da ich davon keine Ahnung habe, bitte ich euch um Hilfe:

      Ich möchte gerne die Werte meiner Helios KWL EC 300 W auslesen. (Ändern wäre der nächste Schritt...)
      Es gibt dazu 3 Ansätze: Via API auf die webbasierte Steuerung zugreifen; auf lokalem Webserver befindliche xml auslesen; lokal via Modbus TCP. Aktuell versuche ich mich an letzterem, zum xml-Thema schreibe ich noch einen anderen Thread - da habe ich genauso Probleme, allerdings aus anderen Gründen.

      Die, so weit ich verstanden habe, Besonderheit der Helios ist, dass ich erst Werte schreiben muss und im Anschluss wieder auslese. Es gibt also keine festen Adressen pro Wert. So weit ich verstehe, kann das der modbus-Adapter so nicht umsetzen. Sollte ich mich irren, bitte ich um einen Hinweis.

      Was ich probiert habe:
      Zusätzliches NPM-Modul "modbus-serial" in JS eintragen. Und mit den bei NPM und Github zu findenden Examples rumspielen. Für viel mehr reichts noch nicht, aber ich arbeite daran...

      var ModbusRTU = require("modbus-serial");
      var client = new ModbusRTU();
       
      // Verbindung herstellen
      client.connectTCP("192.168.178.22", { port: 502 });
      client.setID(180);
      
      function write() { 
          // Schreibe Werte in HoldingRegister ab Adresse 1
          client.writeRegisters(1, [0x7430, 0x3030, 0x3034, 0x0000])
              .then(read);
      }
       
      function read() {
          // Lese 10 HoldingRegister ab Adresse 1
          client.readHoldingRegisters(1, 10)
              .then(console.log);
      };
      
      
      schedule('*/5 * * * * *', read);
      

      Port ist der übliche 502.
      Die ID ist grundsätzlich 180.
      Es wird ausschließlich in den HoldingRegisters geschrieben und gelesen.
      Startadresse ist immer 1.
      Mehr Details in der Dokumentation von Helios dazu.

      Hier steckt noch keinerlei Zuweisung zu einem Datenpunkt drin, das klappt dann später auch noch. Erstmal wäre es schön, wenn ich Daten schreiben und lesen könnte.
      Wenn ich die Daten unter Windows mit einem Tool schreibe und lese, klappt alles wunderbar. Leider beweist die Gegenprobe: In o.g. Code funktioniert weder schreiben noch lesen.
      Und selbst, wenn ich umfangreiche Beispiele abstrahiere, wie dieses hier von github, kommt dabei nichts rum außer Fehlermeldungen.

      Wer kann mir hier auf die Sprünge helfen?

      Danke und Grüße!

      Edit: Titel angepasst

      M Offline
      M Offline
      mstrack
      schrieb am zuletzt editiert von
      #2

      @moehre Hallo moehre,
      ich stecke gerade am gleichen Punkt wie du und versuche meine Helios KWL in iobroker zu integrieren. Ich habe jetzt auch schon eine ganze Weile versucht mit dem modbus-Adapter zum Ziel zu kommen, leider bisher ohne Erfolg.

      Jetzt habe ich gesehen, dass du den XML ansatz erfolgreich hinbekokmmen hast. Wie bist du denn final vorgegangen um die für dich relevanten Informatzionen zu bekommen?

      Grüße

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


      Support us

      ioBroker
      Community Adapters
      Donate

      834

      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