Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter "smartmeter"

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.0k

Adapter "smartmeter"

Scheduled Pinned Locked Moved ioBroker Allgemein
3.6k Posts 280 Posters 2.4m Views 161 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Matthias I
    wrote on last edited by
    #1158

    Hallo zusammen,

    ich habe das Skript von Dieter angepasst. Evtl. hat ja jemand Zeit mal "drüber zu schauen" um mir zu sagen ob die Syntax stimmt?!

    Zunächst Variablen anlegen:

    // Stromzähler -------------------------------------------------------------------------------------------------------------
    createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_HH_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_WP_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_Zähler_HH_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_Zähler_WP_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Stunde.Eingespeist_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Stunde.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Stunde.Produziert_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Stunde.Produziert_Zähler_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Bezogen_HH_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Bezogen_Zähler_HH_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Bezogen_WP_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Bezogen_Zähler_WP_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Eingespeist_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Produziert_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Tag.Produziert_Zähler_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Bezogen_HH_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Bezogen_Zähler_HH_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Bezogen_WP_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Bezogen_Zähler_WP_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Eingespeist_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Produziert_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Monat.Produziert_Zähler_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Aktuell.Bezogen_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Aktuell.Eingespeist_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Aktuell.Produziert_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    createState('javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
    

    Anschließend das Skript zur Berechnung der Werte:

    (Hinweis: Der Smartmeter, der die Produktion der PV-Anlage an ioBroker übergibt, liefert die Werte in Wh)

    // Werte aus smartmeter auslesen und in Variablen schreiben
    
    var java = 'javascript.0.Status.Stromzähler';								// Die Variable java ersetzt einen Teil der Objektpfadangabe, sodass diese nicht immer komplett eingegeben werden muss
    var Stand_Z1a_180 = "smartmeter.1.1-0:1_8_0_255.value";						// Zähler Zia 1.8.0 (Bezug HH NT+HT, = Summe Z1a 1.8.1 + Z1a 1.8.2)
    var Stand_Z1a_181 = "smartmeter.1.1-0:1_8_1_255.value";         			// Zähler Z1a 1.8.1	(Bezug HH NT)
    var Stand_Z1a_182 = "smartmeter.1.1-0:1_8_2_255.value";						// Zähler Z1a 1.8.2	(Bezug HH HT)
    var Stand_Z1a_281 = "smartmeter.1.1-0:2_8_1_255.value";						// Zähler Z1a 2.8.1
    var Stand_Z1a_282 = "smartmeter.1.1-0:2_8_2_255.value";						// Zähler Z1a 2.8.2
    var Stand_Z1_180 = "smartmeter.0.1-0:1_8_0_255.value";						// Zähler Z1 1.8.0	(= Summer Z1 1.8.1 + Z1 1.8.2)
    var Stand_Z1_181 = "smartmeter.0.1-0:1_8_1_255.value";						// Zähler Z1 1.8.1
    var Stand_Z1_182 = "smartmeter.0.1-0:1_8_2_255.value";						// Zähler Z1 1.8.2
    var Stand_Z1_281 = "smartmeter.0.1-0:2_8_1_255.value";						// Zähler Z1 2.8.1
    var Stand_Z1_282 = "smartmeter.0.1-0:2_8_2_255.value";						// Zähler Z1 2.8.2
    var Stand_Z2_280 = "fronius.0.inverter.1.TOTAL_ENERGY.value";				// Zähler Z2 2.8.0	(Gesamterzeugung PV, Wert in Wh!)
    var Stand_eingespeist = "smartmeter.0.1-0:2_8_0_255.value";         		// Zähler Z1 2.8.0 	(Überschusseinspeisung = Summe Z1 2.8.1 + Z1 2.8.2)
    var Stand_produziert = "fronius.0.inverter.1.TOTAL_ENERGY.value";     	  	// Zähler Z2 2.8.0	(Gesamterzeugung PV, Wert in Wh!)
    var GesamtwirkleistungHHundWP = "smartmeter.0.1-0:16_7_0_255.value";      	// Zähler links Wirkleistung aktuell Haushalt + Wärmepumpe
    var GesamtwirkleistungHH = "smartmeter.1.1-0:16_7_0_255.value";				// Zähler links Wirkleistung aktuell Haushalt
    var Tag = "hm-rega.0.21649";
    var Monat = "hm-rega.0.21648";
    
    schedule("59 * * * *", function () {                        // jede Stunde Werte schreiben
        var akt_bezogen_HH = parseInt(getState(Stand_Z1a_180).val * 1000);    // dann in Wh
        var alt_bezogen_HH = parseInt(getState(java + '.Stunde.Bezogen_Zähler_HH_alt').val * 1000);
        setState(java + '.Stunde.Bezogen_HH_in_Wh', akt_bezogen_HH - alt_bezogen_HH);
        setState(java + '.Stunde.Bezogen_Zähler_HH_alt', akt_bezogen_HH / 1000);
    	var akt_bezogen_WP = parseInt((getState(Stand_Z1_180).val - getState(Stand_Z1a_180).val) * 1000);    // dann in Wh
        var alt_bezogen_WP = parseInt(getState(java + '.Stunde.Bezogen_Zähler_WP_alt').val * 1000);
        setState(java + '.Stunde.Bezogen_WP_in_Wh', akt_bezogen_WP - alt_bezogen_WP);
        setState(java + '.Stunde.Bezogen_Zähler_WP_alt', akt_bezogen_WP / 1000);
    	var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
        var alt_eingespeist = parseInt(getState(java + '.Stunde.Eingespeist_Zähler_alt').val * 1000);
        setState(java + '.Stunde.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
        setState(java + '.Stunde.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
        var akt_prod = parseInt(getState(Stand_produziert).val);			// ohne *1000, da Wert in Wh!
        var alt_prod = parseInt(getState(java + '.Stunde.Produziert_Zähler_alt').val * 1000);
        setState(java + '.Stunde.Produziert_in_Wh', akt_prod - alt_prod);
        setState(java + '.Stunde.Produziert_Zähler_alt', akt_prod / 1000);
    });
    
    schedule("59 23 * * *", function () {                        // jeden Tag Werte schreiben
        var akt_bezogen_HH = parseInt(getState(Stand_Z1a_180).val * 1000);
        var alt_bezogen_HH = parseInt(getState(java + '.Tag.Bezogen_Zähler_HH_alt').val * 1000);
        setState(java + '.Tag.Bezogen_HH_in_Wh', akt_bezogen_HH - alt_bezogen_HH);
        setState(java + '.Tag.Bezogen_Zähler_HH_alt', akt_bezogen_HH / 1000);
        var akt_bezogen_WP = parseInt((getState(Stand_Z1_180).val - getState(Stand_Z1a_180).val) * 1000);
        var alt_bezogen_WP = parseInt(getState(java + '.Tag.Bezogen_Zähler_WP_alt').val * 1000);
        setState(java + '.Tag.Bezogen_WP_in_Wh', akt_bezogen_WP - alt_bezogen_WP);
        setState(java + '.Tag.Bezogen_Zähler_WP_alt', akt_bezogen_WP / 1000);	
        var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
        var alt_eingespeist = parseInt(getState(java + '.Tag.Eingespeist_Zähler_alt').val * 1000);
        setState(java + '.Tag.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
        setState(java + '.Tag.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
        var akt_prod = parseInt(getState(Stand_produziert).val);		// ohne *1000, da Wert in Wh!
        var alt_prod = parseInt(getState(java + '.Tag.Produziert_Zähler_alt').val * 1000);
        setState(java + '.Tag.Produziert_in_Wh', akt_prod - alt_prod);
        setState(java + '.Tag.Produziert_Zähler_alt', akt_prod / 1000);
    });
    
    schedule("0 0 1 * *", function () {                        // jeden Monat Werte schreiben
        var akt_bezogen_HH = parseInt(getState(Stand_Z1a_180).val* 1000);
        var alt_bezogen_HH = parseInt(getState(java + '.Monat.Bezogen_Zähler_HH_alt').val * 1000);
        setState(java + '.Monat.Bezogen_HH_in_Wh', akt_bezogen_HH - alt_bezogen_HH);
        setState(java + '.Monat.Bezogen_Zähler_HH_alt', akt_bezogen_HH / 1000);
        var akt_bezogen_WP = parseInt((getState(Stand_Z1_180).val - getState(Stand_Z1a_180).val) * 1000);
        var alt_bezogen_WP = parseInt(getState(java + '.Monat.Bezogen_Zähler_WP_alt').val * 1000);
        setState(java + '.Monat.Bezogen_WP_in_Wh', akt_bezogen_WP - alt_bezogen_WP);
        setState(java + '.Monat.Bezogen_Zähler_WP_alt', akt_bezogen_WP / 1000);	
        var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
        var alt_eingespeist = parseInt(getState(java + '.Monat.Eingespeist_Zähler_alt').val * 1000);
        setState(java + '.Monat.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
        setState(java + '.Monat.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
        var akt_prod = parseInt(getState(Stand_produziert).val);		// ohne *1000, da Wert in Wh!
        var alt_prod = parseInt(getState(java + '.Monat.Produziert_Zähler_alt').val * 1000);
        setState(java + '.Monat.Produziert_in_Wh', akt_prod - alt_prod);
        setState(java + '.Monat.Produziert_Zähler_alt', akt_prod / 1000);
    });
    
    // aktuelle Werte -----------------------------------------------------------------------------------------------------------------------------------------------
    on({id: Stand_Z1a_180, change: "ne"}, function(obj) {           // Wert hat sich geändert.
        setState('javascript.0.Status.Stromzähler.Aktuell.Bezogen_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
        setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang').val * 1000));
    }); 
    on({id: Stand_eingespeist, change: "ne"}, function(obj) {       // Wert hat sich geändert.
        setState('javascript.0.Status.Stromzähler.Aktuell.Eingespeist_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
        setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang').val * 1000));
    }); 
    on({id: Stand_produziert, change: "ne"}, function(obj) {        // Wert hat sich geändert.
        setState('javascript.0.Status.Stromzähler.Aktuell.Produziert_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
        setState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang').val * 1000));
    }); 
    
    // Hochrechnung auf Jahr -----------------------------------------------------------------------------------------------------------------------------------------
    schedule("*/5 * * * *", function () { 
        var Tage = getState(Tag).val + (getState(Monat).val-1) * 30;
            setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W').val / Tage * 365 / 100) / 10);
            setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W').val / Tage * 365 / 100) / 10);
            setState('javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W').val / Tage * 365 / 100) / 10);    
    });
    
    // am 31.12\. um 23:59 jeden Jahres Werte setzen -----------------------------------------------------------------------------------------------------------------------------------------
    schedule("59 23 31 12 *", function () {                        // jeden Monat Werte schreiben
        setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang', parseInt(getState(Stand_Z1a_180).val));
        setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang', parseInt(getState(Stand_eingespeist).val));
        setState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang', parseInt(getState(Stand_produziert).val));
    });
    
    

    Gruß

    Matthias

    1 Reply Last reply
    0
    • apollon77A Online
      apollon77A Online
      apollon77
      wrote on last edited by
      #1159

      Oder auch mal die neuen Adapter von Dutchman checken. Dann braucht man das Skript vllt. Nicht mehr 😉

      Gesendet vom Handy …

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Reply Last reply
      0
      • bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        wrote on last edited by
        #1160

        Ja, habe den neuen Adapter mal installiert.

        Teste derzeit diesen mal für mich.


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Reply Last reply
        0
        • C Offline
          C Offline
          cmeyer86
          wrote on last edited by
          #1161

          Hallo,

          ist es auch möglich einen Youless LS 120 damit auszulesen?!

          Habe ich bereits versucht, aber irgendwie kriege ich keine neuen Objekte in ioBroker…

          Das Log sagt auch lediglich, dass der Adapter gestartet ist.

          URL zum Abruf wäre:

          http://xxx.xxx.xxx.xxx/a?f=j
          

          Output der Abfragen sieht so aus:

          {"cnt":" 1427,706","pwr":547,"lvl":0,"dev":"","det":"","con":"","sts":"","ps0":0,"raw":0}
          

          Wobei cnt - Zählerstand und pwr - aktueller Wattzahl entspricht.

          mfg

          Chris

          1 Reply Last reply
          0
          • apollon77A Online
            apollon77A Online
            apollon77
            wrote on last edited by
            #1162

            Nein aktuell arbeitet der Smartmeter Adapter mit OBIS basierten Protokollen

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            1 Reply Last reply
            0
            • M Offline
              M Offline
              Matthias I
              wrote on last edited by
              #1163

              Würde das Skript gerne testen, kann ja eigentlich nichts schief gehen, oder?

              Wie heißt denn der Adapter von Dutchman und wo bekomme ich den her?

              Gruß

              Matthias

              1 Reply Last reply
              0
              • apollon77A Online
                apollon77A Online
                apollon77
                wrote on last edited by
                #1164

                Schau mal hier https://github.com/ioBroker/AdapterRequ … -453967916

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  steini87
                  wrote on last edited by
                  #1165

                  Hallo zusammen,

                  ich habe seit einigen Wochen auch einen Zweirichtungszähler von EBz (genauer gesagt den eBZ DD3: https://docplayer.org/64442181-Betriebs … r-dd3.html im Einsatz und möchte diesen gern auslesen.

                  Jetzt habe ich mich in der letzten Woche voller Hoffnung durch den Thread hier gelesen und heute kam endlich der Lesekopf.

                  Leider war ich bisher noch nicht erfolgreich -Folgendes habe ich gemacht:

                  • Raspberry als Slave eingerichtet und meinen iobroker auf Multihost umgestellt - Das hat geklappt

                  • Lesekopf angeschlossen und an den Zähler gehangen

                  Wenn ich jetzt````
                  cat /dev/ttyUSB0

                  
                   ![17594_ebz1.png](/assets/uploads/files/17594_ebz1.png) 
                  
                  Da hier was von eBZ und eine lange Nummer, die sowas wie eine Device ID sein könnte, steht wäre meine Interpretation, dass der Kopf am Pi richtig erkannt wurde und vom Zähler zumindestens "etwas" kommt.
                  
                  Seht ihr das auch so?
                  
                  Wenn ich dann den Adapter starte kommt im Log folgendes:
                  
                   ![17594_ebz2.png](/assets/uploads/files/17594_ebz2.png) 
                  
                  Wenn ich das ein paar Minuten laufen lasse, reagiert der iobroker nicht mehr, bis ich den Adapter beende bzw. über die Kommandozeile stoppe.
                  
                  Als Einstellungen bin ich anhand der Anleitung hiermit gestartet:
                  
                   ![17594_einstellungen.png](/assets/uploads/files/17594_einstellungen.png) 
                  
                  Habt ihr eine Idee wo es hängt bzw. wo ich ansetzen könnte? Ich bin da gerade etwas ratlos.
                  
                  Vielen Dank im Voraus
                  
                  Markus
                  
                  P.S. Meine Kenntnisse auf der Kommandozeile sind eher rudimentär, daher entschuldigt bitte, wenn es hier im Thread schonmal so ein Problem gab und ich es nicht gefunden habe
                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    RappiRN
                    Most Active
                    wrote on last edited by
                    #1166

                    Auf jeden Fall muss deine Einstellung auf "nur lesend" umgestellt werden. Lt. Handbuch sendet der Zähler jede Sekunde von selbst!

                    Enrico

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      steini87
                      wrote on last edited by
                      #1167

                      Hallo Enrico,

                      danke für die schnelle Antwort.

                      Ich habe das jetzt mal umgestellt und die anderen Einstellungen gleich gelassen.

                      Leider ohne Erfolg allerdings haben sich die Log-Messages geändert.

                      Das sieht jetzt so aus:

                      17594_bildschirmfoto_2019-01-19_um_07.32.42.png

                      War das ein Schritt in die richtige Richtung?

                      Viele Grüße

                      Markus

                      1 Reply Last reply
                      0
                      • apollon77A Online
                        apollon77A Online
                        apollon77
                        wrote on last edited by
                        #1168

                        Ich denke da muss an den seriellen Einstellungen (Baudrate und so) was geändert werden. Obwohl spontan alles nach Anleitung eingestellt ist 😞

                        Gesendet vom Handy …

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          steini87
                          wrote on last edited by
                          #1169

                          Danke für deine Vermutung.

                          Mit den seriellen Einstellungen meinst du die Baudrate die ich im Adapter eintrage oder muss im Linux etwas eingestellt werden?

                          Ich bin jetzt erst mal unterwegs aber ich probiere später mal ein bisschen

                          1 Reply Last reply
                          0
                          • apollon77A Online
                            apollon77A Online
                            apollon77
                            wrote on last edited by
                            #1170

                            Jupp die meine ich. Du hast an sich alles korrekt eingestellt. Versuch mal den Modus D rauszunehmen ob es dann ggf automatisch erkannt wird.

                            Kannst ggf mal suchen ob bei volkszähler in deren Wiki ggf was zu Zähler steht. Such Stichworte „vzlogger“ zusätzlich zu deinem gerät

                            Gesendet vom Handy …

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            1 Reply Last reply
                            0
                            • apollon77A Online
                              apollon77A Online
                              apollon77
                              wrote on last edited by
                              #1171

                              Ließ mal hier https://forum.fhem.de/index.php/topic,51948.315.html bei einem ging’s mit 7e0

                              Gesendet vom Handy …

                              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                Matthias I
                                wrote on last edited by
                                #1172

                                Hallo zusammen,

                                bei mir läuft nun seit einigen Tagen testweise das Skript (s.o.).

                                Die Verbräuche in einer Stunde werden auch berechnet.

                                Leider hakt es bei der Berechnung was stündlich bezogen wird. Ich bekomme stündlich folgenden Warnhinweis:

                                "08:59:00.175 [warn] javascript.0 at Object. (script.js.common.SmartmeterStrom:36:29)"

                                Es gibt in Zeile 36 ein Problem:

                                 var akt_prod = parseInt(getState(Stand_produziert).val * 1);			// ohne *1000, da Wert in Wh!
                                

                                Ich vermute den Fehler bei der Übergabe des Wertes der Variablen "Stand_produziert":

                                var Stand_produziert = "fronius.0.inverter.1.TOTAL_ENERGY.value";    	  	// Zähler Z2 2.8.0	(Gesamterzeugung PV, Wert in Wh!)
                                

                                4453_fronius.jpg
                                Wenn ich die var Stand_produziert = "über ID einfügen" füttere sieht das nämlich so aus:

                                "fronius.0.inverter.1.TOTAL_ENERGY"/*total energy*/
                                

                                Könnt ihr mir sagen, wo der Fehler liegt?

                                Gruß

                                Matthias

                                1 Reply Last reply
                                0
                                • apollon77A Online
                                  apollon77A Online
                                  apollon77
                                  wrote on last edited by
                                  #1173

                                  Falscher Thread? Hier geht es um den smartmeter Adapter 😉

                                  Gesendet vom Handy …

                                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    Matthias I
                                    wrote on last edited by
                                    #1174

                                    Hallo Apollon,

                                    richtiger Thread 😉

                                    Es handelt sich um das angepasste Skript von Dieter, das aus den Werten des smartmeter-Adapters dann die Verbräuche berechnet.

                                    Könntest du mir eventuell weiterhelfen?

                                    Gruß

                                    Matthias

                                    1 Reply Last reply
                                    0
                                    • S Offline
                                      S Offline
                                      steini87
                                      wrote on last edited by
                                      #1175

                                      Ich habe jetzt noch mal ein bisschen gespielt. Aber leider ohne Erfolg 😞

                                      Dafür hat mich dein Link dazu gebracht noch mal ganz genau auf meinen Zähler zu schauen.

                                      Es ist nicht wie von mir gedacht der Zähler aus der Anleitung DD3 BZ06…, sondern er ist vom Typ

                                      eBZ DD3 2R06 DTA - SMZ1

                                      Das erklärt schonmal, warum mit den Einstellungen aus der Anleitung nicht passiert :roll:

                                      Jetzt ist die Frage: Gibt es einen strukturieren Weg um herauszufinden, welche seriellen Einstellungen passen außer alle Kombinationen zu probieren?

                                      Den Zählertyp zu googlen bringt leider nur 3 Ergebnisse, die mir nicht weiterhelfen und im Volkszähler Wiki kommt eBZ nicht vor 😕

                                      Und dann noch eine Frage zum Thema "7E0".

                                      Im Adapter heißt das dann:

                                      Serielles Gerät: Data-Bits 7

                                      Serielles Gerät: Stop-Bits Standard

                                      Serielles Gerät: Parität: even

                                      oder wie bekomme ich das im Adapter eingestellt?

                                      Sorry, für die vielen Anfängerfragen, aber dieses Gebiet ist echtes Neuland für mich

                                      Schon einmal vielen Dank im Voraus und viele Grüße

                                      Markus

                                      L 1 Reply Last reply
                                      0
                                      • apollon77A Online
                                        apollon77A Online
                                        apollon77
                                        wrote on last edited by
                                        #1176

                                        Kontaktiere doch mal deinen Stromanbieter wegen Anleitung und Details oder den Hersteller

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        1 Reply Last reply
                                        0
                                        • S Offline
                                          S Offline
                                          steini87
                                          wrote on last edited by
                                          #1177

                                          Ich rufe da nächste Woche mal an und versuche mal mein Glück

                                          Danke auf jeden Fall erst mal

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          597

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe