Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. manrum1

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 5
    • Posts 253
    • Best 9
    • Groups 2

    manrum1

    @manrum1

    10
    Reputation
    27
    Profile views
    253
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Location Pfaffenhofen/Ilm Age 56

    manrum1 Follow
    Pro Starter

    Best posts made by manrum1

    • RE: Konfiguration von ioBroker, InfluxDB und Grafana

      @legro Also, nach langem Probieren habe ich das Problem gelöst. Danke für Deine Vorarbeit!

      Wenn das DBRP-Mapping wie in deiner Anleitung beschrieben erfolgt ist, reicht es im Grafana Dialog

      • die URL zu setzen (bei mir http://localhost:8086)
      • den Custom HTTP Header hinzuzufügen
      • und hier kommt der Trick: Zu Header Authorization muss im Value der String Token gefolgt vom eigentlichen Token eingefügt werden, also z.B.: Token ZBQhHgEKxyryxjSbtEQfdgffsESkGq88676787568CBShszyNi48c1UJ6NEOD_2Q==
      • jetzt nur noch unter Database den Namen der Datenbank (bucket) eintragen, bei mir iobold

      Sonst nichts!

      Grafanadialog.jpg

      Viel Spass!

      posted in Off Topic
      M
      manrum1
    • RE: [Tutorial] PZEM-004T 3 Phasen Überwachung

      @helmutlinner Hallo, aller Anfang ist schwer, war bei mir auch so:

      Zuerst richtest Du Dir im iobroker Datenpunkte ein, am besten unter dem Objektbaum 0_userdata.0... Dazu nimmst Du folgendes Script und lässt es einmal laufen, danach solltest Du die Datenpunkte sehen:

      /* /* Strommessung
      
      
      */
      var pfad = '0_userdata.0.Strom.hb.Status.',
          name_geraet = 'Pzem_hb', // zB Waschmaschine (Achtung keine Umlaute)
          beschreibung = 'Strommessung Home Base'; // zB 
      
      // Energie
      createState(pfad + name_geraet + '.Zaehler.Energy_TotalStartTime', 0, {
          name: 'Energie Total StartTime',
          desc: 'xx',
          type: 'string',
          unit: '',
          role: '',
          read: true,
          write: true
       });
       
      createState(pfad + name_geraet + '.Zaehler.Energy_Total', 0, {
          name: 'Energie total',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: 'value.power.consumption',
          read: true,
          write: true
       });
      
       createState(pfad + name_geraet + '.Zaehler.Energy_Yesterday', 0, {
          name: 'Energie gestern',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: 'value.power.consumption',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Energy_Today', 0, {
          name: 'Energie heute',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: 'value.power.consumption',
          read: true,
          write: true
       });
      
       createState(pfad + name_geraet + '.Zaehler.Period', 0, {
          name: 'Periode',
          desc: 'xx',
          type: 'number',
          unit: '',
          role: '',
          read: true,
          write: true
       });
      
      // Leistung
      createState(pfad + name_geraet + '.Zaehler.Power_Ph1', 0, {
          name: 'Leistung Phase 1',
          desc: 'xx',
          type: 'number',
          unit: 'W',
          role: 'value.power',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Power_Ph2', 0, {
          name: 'Leistung Phase 2',
          desc: 'xx',
          type: 'number',
          unit: 'W',
          role: 'value.power',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Power_Ph3', 0, {
          name: 'Leistung Phase 3',
          desc: 'xx',
          type: 'number',
          unit: 'W',
          role: 'value.power',
          read: true,
          write: true
       });
      
      // Scheinleistung
       createState(pfad + name_geraet + '.Zaehler.ApparentPower_Ph1', 0, {
          name: 'Scheinleistung Phase 1',
          desc: 'xx',
          type: 'number',
          unit: 'VA',
          role: 'value.power',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.ApparentPower_Ph2', 0, {
          name: 'Scheinleistung Phase 2',
          desc: 'xx',
          type: 'number',
          unit: 'VA',
          role: 'value.power',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.ApparentPower_Ph3', 0, {
          name: 'Scheinleistung Phase 3',
          desc: 'xx',
          type: 'number',
          unit: 'VA',
          role: 'value.power',
          read: true,
          write: true
       });
      
       // Blindleistung
       createState(pfad + name_geraet + '.Zaehler.ReactivePower_Ph1', 0, {
          name: 'Blindleistung Phase 1',
          desc: 'xx',
          type: 'number',
          unit: 'VAr',
          role: 'value.power',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.ReactivePower_Ph2', 0, {
          name: 'Blindleistung Phase 2',
          desc: 'xx',
          type: 'number',
          unit: 'VAr',
          role: 'value.power',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.ReactivePower_Ph3', 0, {
          name: 'Blindleistung Phase 3',
          desc: 'xx',
          type: 'number',
          unit: 'VAr',
          role: 'value.power',
          read: true,
          write: true
       });
      
       // Leistungsfaktor
       createState(pfad + name_geraet + '.Zaehler.Factor_Ph1', 0, {
          name: 'Leistungsfaktor Phase 1',
          desc: 'xx',
          type: 'number',
          unit: '',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Factor_Ph2', 0, {
          name: 'Leistungsfaktor Phase 2',
          desc: 'xx',
          type: 'number',
          unit: '',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Factor_Ph3', 0, {
          name: 'Leistungsfaktor Phase 3',
          desc: 'xx',
          type: 'number',
          unit: '',
          role: '',
          read: true,
          write: true
       });
      
        // Frequenz
       createState(pfad + name_geraet + '.Zaehler.Frequency_Ph1', 0, {
          name: 'Frequenz Phase 1',
          desc: 'xx',
          type: 'number',
          unit: 'Hz',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Frequency_Ph2', 0, {
          name: 'Frequenz Phase 2',
          desc: 'xx',
          type: 'number',
          unit: 'Hz',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Frequency_Ph3', 0, {
          name: 'Frequenz Phase 3',
          desc: 'xx',
          type: 'number',
          unit: 'Hz',
          role: '',
          read: true,
          write: true
       });
      
        // Volt
       createState(pfad + name_geraet + '.Zaehler.Voltage_Ph1', 0, {
          name: 'Spannung Phase 1',
          desc: 'xx',
          type: 'number',
          unit: 'V',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Voltage_Ph2', 0, {
          name: 'Spannung Phase 2',
          desc: 'xx',
          type: 'number',
          unit: 'V',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Voltage_Ph3', 0, {
          name: 'Spannung Phase 3',
          desc: 'xx',
          type: 'number',
          unit: 'V',
          role: '',
          read: true,
          write: true
       });
      
       // Strom
       createState(pfad + name_geraet + '.Zaehler.Current_Ph1', 0, {
          name: 'Strom Phase 1',
          desc: 'xx',
          type: 'number',
          unit: 'A',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Current_Ph2', 0, {
          name: 'Strom Phase 2',
          desc: 'xx',
          type: 'number',
          unit: 'A',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Current_Ph3', 0, {
          name: 'Strom Phase 3',
          desc: 'xx',
          type: 'number',
          unit: 'A',
          role: '',
          read: true,
          write: true
       });
      
        // Berechnete
      
      createState(pfad + name_geraet + '.Zaehler.Current', 0, {
          name: 'Strom gesamt',
          desc: 'xx',
          type: 'number',
          unit: 'A',
          role: 'value.power',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Power', 0, {
          name: 'Leistung gesamt',
          desc: 'xx',
          type: 'number',
          unit: 'W',
          role: 'value.power.consumption',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.ApparentPower', 0, {
          name: 'Scheinleistung gesamt',
          desc: 'xx',
          type: 'number',
          unit: 'VA',
          role: 'value.power.consumption',
          read: true,
          write: true
       });
      
       createState(pfad + name_geraet + '.Zaehler.ReactivePower', 0, {
          name: 'Blindleistung gesamt',
          desc: 'xx',
          type: 'number',
          unit: 'VAr',
          role: 'value.power.consumption',
          read: true,
          write: true
       });
      
      
       // Zähler
      
      createState(pfad + name_geraet + '.Zaehler.Zaehler_actual', 0, {
          name: 'Zählerstand aktuell',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: 'value.power.consumption',
          read: true,
          write: true
       });
      
       createState(pfad + name_geraet + '.Zaehler.Zaehler_Korrektur', 0, {
          name: 'Zähler Korrektur (setzen)',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: '',
          read: true,
          write: true
       });
      
       createState(pfad + name_geraet + '.Zaehler.Zaehler_HT', 0, {
          name: 'Zählerstand Basiswert HT (setzen)',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Zaehler_NT', 0, {
          name: 'Zählerstand Basiswert NT (setzen)',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: '',
          read: true,
          write: true
       });
      
      
      createState(pfad + name_geraet + '.Zaehler.Zaehler_Basiswert', 0, {
          name: 'Zählerstand Basiswert (setzen oder Summe HT/NT)',
          desc: 'xx',
          type: 'number',
          unit: 'kWh',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Zaehler_Basiswert_Datum', 0, {
          name: 'Zählerstand Basiswert Datum/Uhrzeit (setzen)',
          desc: 'xx',
          type: 'string',
          unit: '',
          role: '',
          read: true,
          write: true
       });
      
      createState(pfad + name_geraet + '.Zaehler.Zaehler_Pzem_Lastchanged', 0, {
          name: 'Datum/Uhrzeit',
          desc: 'xx',
          type: 'string',
          unit: '',
          role: '',
          read: true,
          write: true
       });
      
      
      

      Als nächstes brauchst Du ein Script, dass den MQTT-String parst (durchsucht) und die Daten auf einzlene Datenpunkte mapped, die wir vorher erzeugt haben.

      on('mqtt.0.tele.stromhb.SENSOR', function(dp) {
          let tstrom = JSON.parse(dp.state.val);
          if(tstrom['Time']) {
              let val = tstrom['Time'];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_Pzem_Lastchanged', val, true);
          }
          let strom = JSON.parse(dp.state.val).ENERGY;
          if(strom['TotalStartTime']) {
              let val = strom['TotalStartTime'];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Energy_TotalStartTime', val, true);
          } if(strom['Total']) {
              let val = strom['Total'];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Energy_Total', val, true);
          } if(strom['Yesterday']) {
              let val = strom['Yesterday'];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Energy_Yesterday', val, true);
          } if(strom['Today']) {
              let val = strom['Today'];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Energy_Today', val, true);
          } if(strom['Period']) {
              let val = strom['Period'];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Period', val, true);
          } if(strom['Power']) {
              let val = strom['Power'][0];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Power_Ph1', val, true);
          } if(strom['Power']) {
              let val = strom['Power'][1];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Power_Ph2', val, true);
          } if(strom['Power']) {
              let val = strom['Power'][2];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Power_Ph3', val, true);
          } if(strom['ApparentPower']) {
              let val = strom['ApparentPower'][0];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ApparentPower_Ph1', val, true);
          } if(strom['ApparentPower']) {
              let val = strom['ApparentPower'][1];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ApparentPower_Ph2', val, true);
          } if(strom['ApparentPower']) {
              let val = strom['ApparentPower'][2];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ApparentPower_Ph3', val, true);
          } if(strom['ReactivePower']) {
              let val = strom['ReactivePower'][0];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ReactivePower_Ph1', val, true);
          } if(strom['ReactivePower']) {
              let val = strom['ReactivePower'][1];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ReactivePower_Ph2', val, true);
          } if(strom['ReactivePower']) {
              let val = strom['ReactivePower'][2];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ReactivePower_Ph3', val, true);
          } if(strom['Factor']) {
              let val = strom['Factor'][0];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Factor_Ph1', val, true);
          } if(strom['Factor']) {
              let val = strom['Factor'][1];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Factor_Ph2', val, true);
          } if(strom['Factor']) {
              let val = strom['Factor'][2];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Factor_Ph3', val, true);
          } if(strom['Frequency']) {
              let val = strom['Frequency'][0];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Frequency_Ph1', val, true);
          } if(strom['Frequency']) {
              let val = strom['Frequency'][1];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Frequency_Ph2', val, true);
          } if(strom['Frequency']) {
              let val = strom['Frequency'][2];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Frequency_Ph3', val, true);
          } if(strom['Voltage']) {
              let val = strom['Voltage'][0];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Voltage_Ph1', val, true);
          } if(strom['Voltage']) {
              let val = strom['Voltage'][1];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Voltage_Ph2', val, true);
          } if(strom['Voltage']) {
              let val = strom['Voltage'][2];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Voltage_Ph3', val, true);
          } if(strom['Current']) {
              let val = strom['Current'][0];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Current_Ph1', val, true);
          } if(strom['Current']) {
              let val = strom['Current'][1];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Current_Ph2', val, true);
          } if(strom['Current']) {
              let val = strom['Current'][2];
              setState('0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Current_Ph3', val, true);
          }
          
           setTimeout(function() {
          // Code, der erst nach 5 Sekunden ausgeführt wird
      
          setState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_Basiswert", (getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_HT").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_NT").val), true);
          setState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Current", (getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Current_Ph1").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Current_Ph2").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Current_Ph3").val), true);
          setState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Power", (getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Power_Ph1").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Power_Ph2").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Power_Ph3").val), true);
          setState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ReactivePower", (getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ReactivePower_Ph1").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ReactivePower_Ph2").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ReactivePower_Ph3").val), true);
          setState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ApparentPower", (getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ApparentPower_Ph1").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ApparentPower_Ph2").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.ApparentPower_Ph3").val), true);
          // setState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_actual", (getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_Basiswert").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_Korrektur").val), true);
          setState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_actual", (getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_Basiswert").val + getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Energy_Total").val - getState("0_userdata.0.Strom.hb.Status.Pzem_hb.Zaehler.Zaehler_Korrektur").val), true);
          }, 5000);
      
        });
      
      

      Bei mir heißt der Knoten im MQTT-Adapter stromhb, das musst Du natürlich anpassen. Das Script muss dann dauernd laufen.
      Am Ende werdne noch einige Berechnungen vorgenommen, ignoriere das erst mal.

      Viel Erfolg

      posted in Praktische Anwendungen (Showcase)
      M
      manrum1
    • RE: Tuya Adapter Version 3.16.0

      @deta Hi, habe bei mir das gleiche Phänomen.

      Auf meinem anderen System laufen schon monatelang 2 Instanzen. Vielleicht bringt ein Downgrade auf eine frühere Version die Lösung, danach kann man anscheinend normal updaten.

      posted in ioBroker Allgemein
      M
      manrum1
    • RE: Tuya LED Controller in iobroker bringen

      @maxpd Schau dir das mal an: https://github.com/openshwprojects/OpenBK7231T

      Habs selbst noch nicht probiert, mach mich aber bei Gelegenheit noch dran. Vielleicht können wir zusammen arbeiten. 👍

      posted in Hardware
      M
      manrum1
    • RE: Konfiguration von ioBroker, InfluxDB und Grafana

      @legro Doch, wenn man die Fußnote auch und genau liest 👍

      Habe ich viel zu lange mit dem in 9.x fehlendem Access Dialog (Server default) herumgeplagt.

      posted in Off Topic
      M
      manrum1
    • RE: M-TEC Energy Butler

      @metaxa @andreas-h
      Hallo zusammen, das meiste funktioniert anbei mein Status:
      mtec5.png

      Da der Energy Butler die Werte vom Smartmeter zieht, sollte dieses eigentlich gleich dem Zählerstand sein. Diesen frage ich mittels Hichi IR Lesekopf ab, nach bisheriger Erfahrung passt das.

      Über die WEB-Console kann man Daten zum Eigenverbrauch, Export und Import abfragen.
      mtec6.png
      Den Eigenverbrauch kann ich nur rechnerisch ermitteln, da der vom EB gelieferte Wert unter modbus.0.holdingRegisters.31006_Loading_Energy_today nicht stimmt. Hier meine Formel:

      Verbraucher_Leistung = PV_Leistung - Batterie_Leistung - Netz_Leistung (jeweils absolut, also ohne Vorzeichen).

      So schaut dann mein Dashboard aus:
      mtec7.png

      Hoffe das hilft, bzw. gerne Feedback.

      posted in Hardware
      M
      manrum1
    • RE: M-TEC Energy Butler

      @andreas-h @metaxa :
      Bezüglich WEB-Portal:

      • Wenn man eingeloggt bleibt ändern sich die Werte bzgl. Eigenverbrauch, Export und Import nicht. Man muss sich dazu neu einloggen, in dem Moment sind die Daten zur Eigenabfrage über den Modbus ziemlich gleich.
      • Ihr könnt ja spaßeshalber mal in eure Fritzbox schauen. Da werdet ihr 2 Adressen für den Energy Butler finden, einer davon heißt (bei mir) USR-TCP232-T2. Dies ist ein von MTEC gelieferter RS485-Konverter. Man kann sich auch einloggen und sieht an der Konfiguration, dass die Daten an "eeaccess.solarmanpv.com" gesendet werden. Dies ist der chinesiche Provider für das WEB-Portal.

      @metaxa :

      • Wenn du was sperren willst, musst du diese Adresse blocken, oder einfach vom Netz nehmen.
      • Wenn du deinen Zähler über den IR-Leskopf abfragst siehst du ja, wieviel zu tatsächlich importierst, die Anzeige im WEB-Portal würde ich nicht so ernst nehmen.
      posted in Hardware
      M
      manrum1
    • RE: M-TEC Energy Butler

      @slingo ja, ich frage alle 5 sec ab, das läuft soweit problemlos. Für mich sieht es so aus, dass es 2 RS485 Schnittstellen gibt. Eine wird für das WEB-Portal genutzt ("USR-TCP232-T2") und der zweite für eigene Anwendung.

      posted in Hardware
      M
      manrum1
    • RE: M-TEC Energy Butler

      @slingo Danke für die Hilfe, komme jetzt mit Portal-Abfrage zurecht!

      posted in Hardware
      M
      manrum1

    Latest posts made by manrum1

    • RE: Solarspeicher Marstek B2500

      @homoran Ich wüsste nicht, was ich noch zeigen könnte?

      posted in Hardware
      M
      manrum1
    • RE: Solarspeicher Marstek B2500

      @marc-berg Ja, habe ich schon alles probiert. 😢

      posted in Hardware
      M
      manrum1
    • RE: Solarspeicher Marstek B2500

      @haselchen Danke für Deine freundlichen Kommentare. Schau mal oben in meine Postings zu meinen Einstellungen, dann reden wir weiter wer hier was nicht verstanden hat.

      posted in Hardware
      M
      manrum1
    • RE: Solarspeicher Marstek B2500

      @haselchen Ich habe mir das schon angeschaut. Dorts gehts ja nicht um den iobroker sondern nur um die HA-Integration. Am Gerät selbst habe ich alles eingestellt, was auch im Video gezeigt wird. Oder habe ich was übersehen?

      posted in Hardware
      M
      manrum1
    • RE: Solarspeicher Marstek B2500

      @marc-berg said in Solarspeicher Marstek B2500:

      cd=01

      Hallo Marc,
      habs probiert, passieren tut leider nichts. Habe diese 3 Meldungen im Log:

      mqtt.1
      	2025-08-13 11:53:55.159	debug	Client [hm_360111504d46303734153c4a] send to this client "hame_energy/HMA-1/App/7ce712af614f/ctrl": deleted
      mqtt.1
      	2025-08-13 11:53:55.135	info	Client [hm_360111504d46303734153c4a] publishOnSubscribe
      mqtt.1
      	2025-08-13 11:53:54.933	info	Client [hm_360111504d46303734153c4a] subscribes on "mqtt.1.hame_energy.HMA-1.App.7ce712af614f.ctrl"
      

      Muss ich an den Adapter-Einstellungen noch was ändern? Was bedeutet cd=01?

      Was muss ich wegen der Meldung

      mqtt.1
      	2025-08-13 12:03:15.852	warn	No ioBroker changes will be published to the clients. Set the "publish" option in the adapter settings to subscribe for relevant changes
      

      einstellen?

      Danke im Voraus!

      posted in Hardware
      M
      manrum1
    • RE: Solarspeicher Marstek B2500

      @homoran Anbei, jetzt richtig?

      mqtt.1
      	2025-08-12 12:31:09.073	debug	Client [hm_360111504d46303734153c4a] send to this client "hame_energy/HMA-1/App/7ce712af614f/ctrl": deleted
      mqtt.1
      	2025-08-12 12:31:07.337	debug	Client [hm_360111504d46303734153c4a] send to this client "hame_energy/HMA-1/App/7ce712af614f/ctrl": deleted
      mqtt.1
      	2025-08-12 12:31:07.337	info	Client [hm_360111504d46303734153c4a] publishOnSubscribe
      mqtt.1
      	2025-08-12 12:31:07.231	debug	stateChange mqtt.1.info.connection: {"val":"hm_360111504d46303734153c4a","ack":true,"ts":1754994667228,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1754994520172}
      mqtt.1
      	2025-08-12 12:31:07.137	info	Client [hm_360111504d46303734153c4a] subscribes on "mqtt.1.hame_energy.HMA-1.App.7ce712af614f.ctrl"
      mqtt.1
      	2025-08-12 12:31:07.137	debug	Client [hm_360111504d46303734153c4a] Handle subscribe: {"topic":"hame_energy/HMA-1/App/7ce712af614f/ctrl","qos":0}
      mqtt.1
      	2025-08-12 12:31:07.136	debug	Client [hm_360111504d46303734153c4a] received subscribe package {"cmd":"subscribe","retain":false,"qos":1,"dup":false,"length":44,"topic":null,"payload":null,"subscriptions":[{"topic":"hame_energy/HMA-1/App/7ce712af614f/ctrl","qos":0}],"messageId":1}
      mqtt.1
      	2025-08-12 12:31:07.126	debug	stateChange mqtt.1.info.clients.hm_360111504d46303734153c4a: {"val":true,"ack":true,"ts":1754994667103,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1754994520119}
      mqtt.1
      	2025-08-12 12:31:07.052	debug	Client [hm_360111504d46303734153c4a] with keepalive 60 set timeout to 90 seconds
      mqtt.1
      	2025-08-12 12:31:07.051	info	Client [hm_360111504d46303734153c4a] reconnected. Old secret 1754994520007_430. New secret 1754994666986_8963
      mqtt.1
      	2025-08-12 12:29:40.580	debug	Client [hm_360111504d46303734153c4a] pingreq
      mqtt.1
      	2025-08-12 12:28:42.116	debug	Client [hm_360111504d46303734153c4a] send to this client "hame_energy/HMA-1/App/7ce712af614f/ctrl": deleted
      mqtt.1
      	2025-08-12 12:28:40.408	debug	Client [hm_360111504d46303734153c4a] send to this client "hame_energy/HMA-1/App/7ce712af614f/ctrl": deleted
      mqtt.1
      	2025-08-12 12:28:40.406	info	Client [hm_360111504d46303734153c4a] publishOnSubscribe
      mqtt.1
      	2025-08-12 12:28:40.206	info	Client [hm_360111504d46303734153c4a] subscribes on "mqtt.1.hame_energy.HMA-1.App.7ce712af614f.ctrl"
      mqtt.1
      	2025-08-12 12:28:40.205	debug	Found object for topic "hame_energy/HMA-1/App/7ce712af614f/ctrl" = mqtt.1.hame_energy.HMA-1.App.7ce712af614f.ctrl
      mqtt.1
      	2025-08-12 12:28:40.203	debug	Check object for topic "hame_energy/HMA-1/App/7ce712af614f/ctrl"
      mqtt.1
      	2025-08-12 12:28:40.203	debug	Client [hm_360111504d46303734153c4a] Handle subscribe: {"topic":"hame_energy/HMA-1/App/7ce712af614f/ctrl","qos":0}
      mqtt.1
      	2025-08-12 12:28:40.202	debug	Client [hm_360111504d46303734153c4a] received subscribe package {"cmd":"subscribe","retain":false,"qos":1,"dup":false,"length":44,"topic":null,"payload":null,"subscriptions":[{"topic":"hame_energy/HMA-1/App/7ce712af614f/ctrl","qos":0}],"messageId":1}
      mqtt.1
      	2025-08-12 12:28:40.175	debug	stateChange mqtt.1.info.connection: {"val":"hm_360111504d46303734153c4a","ack":true,"ts":1754994520172,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1754994520172}
      mqtt.1
      	2025-08-12 12:28:40.123	debug	stateChange mqtt.1.info.clients.hm_360111504d46303734153c4a: {"val":true,"ack":true,"ts":1754994520119,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1754994520119}
      mqtt.1
      	2025-08-12 12:28:40.094	debug	Client [hm_360111504d46303734153c4a] with keepalive 60 set timeout to 90 seconds
      mqtt.1
      	2025-08-12 12:28:40.060	info	Client [hm_360111504d46303734153c4a] connected with secret 1754994520007_430
      mqtt.1
      	2025-08-12 12:28:19.346	debug	stateChange mqtt.1.info.connection: {"val":"","ack":true,"ts":1754994499343,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1754994499343}
      mqtt.1
      	2025-08-12 12:28:19.298	debug	stateChange mqtt.1.info.clients.hm_360111504d46303734153c4a: {"val":false,"ack":true,"ts":1754994499295,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1754994499295}
      mqtt.1
      	2025-08-12 12:28:19.197	info	Starting MQTT authenticated server on 0.0.0.0:1890
      mqtt.1
      	2025-08-12 12:28:19.027	info	starting. Version 6.1.2 in /opt/iobroker/node_modules/iobroker.mqtt, node: v20.19.4, js-controller: 7.0.6
      mqtt.1
      	2025-08-12 12:28:18.868	debug	Plugin sentry Do not initialize Plugin (enabled=false)
      mqtt.1
      	2025-08-12 12:28:13.657	info	terminating
      mqtt.1
      	2025-08-12 12:28:13.156	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
      mqtt.1
      	2025-08-12 12:28:13.156	info	terminating
      mqtt.1
      	2025-08-12 12:28:13.154	info	Got terminate signal TERMINATE_YOURSELF
      

      Daten schauen jetzt so aus:
      2e998805-702f-44a0-a044-c37ef5e793b8-grafik.png

      posted in Hardware
      M
      manrum1
    • RE: Solarspeicher Marstek B2500

      @homoran Danke für Deine Antwort, anbei die Konfiguration:

      Einstellung über https://tom:quist.github.io/hame-relay/b2500.html:

      d3afb4e7-2958-43e7-a795-c9088d0ca8e5-grafik.png

      Einstellungen MQTT im iobroker:

      1838269b-406c-4690-a6f0-125e53005805-grafik.png

      8283e386-d914-4680-8006-0c10aaff8a3d-grafik.png

      686884ee-e138-4c8b-b7e5-8b15f440c718-grafik.png

      Log:

      d30d5801-9be2-4c38-97d6-2d54997f899f-grafik.png

      posted in Hardware
      M
      manrum1
    • RE: Solarspeicher Marstek B2500

      @homoran Hallo, ich habe MQTT enabled (https://tomquist.github.io/hame-relay/b2500.html) und bekomme leider keine Werte geliefert. So schauts bei mir aus:

      b6a82793-5eb2-4792-b0da-fa928702db4a-grafik.png

      Was mache ich falsch?

      posted in Hardware
      M
      manrum1
    • RE: MQTT Antwort parsen

      @michihorn Bei mir schauts genau so aus! Kann jemand helfen?

      posted in Skripten / Logik
      M
      manrum1
    • RE: Wolf Smart Set

      @oxident Wie meinst Du das mit dem direkten Zugriff? Wie soll ich das per Handy/Tablet machen?

      posted in ioBroker Allgemein
      M
      manrum1
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo