NEWS
Adapter "smartmeter"
-
Hallo zusammen,
ich bin gerade auf den thread gestoßen, da ich meinen Stromverbrauch loggen möchte.
Ich habe bereits versucht herauszufinden ob mein Stromzähler unterstützt wird, kann jedoch niemanden finden der diesen erwähnt hat:
Itron OpenWay 3 // HZ-AC-D4-A1: https://www1.itron.com/PublishedContent/OpenWay_kl.pdf
Info-Schnittstelle: Frontseitige IR-Schnittstelle, uni-direktional, 9600 Baud,
Protokoll SML V1.04
LMN-Schnittstelle: 2x RS485, 921,6 kBit/s, Protokoll SML unverschlüsselt und TLSverschlüsselt, HDLC, SML
Vom Protokoll her (SML) sollte es ja funktionieren. Jedoch weiß ich nicht welche Hardware ich zur Erfassung benötige und wie ich die ausgelesenen Messwerte in mein Netzwerk übertragen soll. Auch Github war für mich hier nicht hilfreich, da meines Erachtens bei den getesteten Adaptern abgesehen vom EFR SmartGridHub (150€!!) um Stromzähler und keine Adapter handelt. Bevor ich aber 150€ für die Erfassung des Stromzählerstandes ausgebe, kann ich auch wieder auf dei HM Lösung zurückgreifen. Welchen kostengünstigen Weg gibt es?
-
Jetzt laufen beide Instanzen, es hatte sich nur ein Tippfehler in der .rules-Datei eingeschlichen.
Als nächstes gebe ich mich dann an das Script, habe ja gesehen, dass es hier auch schon Vorlagen gibt.
Da arbeite ich mich dann jetzt mal ein, ich muss das Skript ja entsprechend anpassen.
-
Welchen kostengünstigen Weg gibt es? `
Definiere Kostengünstig?
Keiner weiß ja was du bisher hast/nutzt.
Im einfachsten Fall reicht ein PI und ein USB Lesekopf.
-
Im einfachsten Fall reicht ein PI und ein USB Lesekopf. `
Und dies funktioniert einwandfrei bei mir seit Monaten.
-
Definiere Kostengünstig?
Keiner weiß ja was du bisher hast/nutzt. `
Kostengünstig bezieht sich auf die Alternativen zu Homematic (100€) oder EFR SmartGridHub (150€).
> Im einfachsten Fall reicht ein PI und ein USB Lesekopf.
Hört sich gut an. Noch mehr PIs will ich allerdings nicht. Ich habe im selben Raum einen Synology Server mit iobroker in der VM. Ich denke da bekomme ich den USB Lesekopf ebenfalls ans laufen. Kannst du mir Details zu Lesekopf und Software geben? -
Software brauchst du keine - nur den smartmeter-Adapter.
Den Lesekopf gibt es bei "Volkszähler" für kleines Geld.
Ob du ihn allerdings an der Syno betreiben kannst hängt von deinen Fähigkeiten und der Art der Installation des ioBrokers dort ab.
Gruß
Rainer
-
Ich hatte diesen gekauft.
https://www.ebay.de/itm/Stromzahler-Sma … SwceNZPu8c
Bei Volkszähler musst du Wochen auf eine Antwortmail warten
mfg
Dieter
-
Vielen Dank für die Tips& Links!
-
Moin in die Runde,
ich habe heute einen Adapter (SourceAnalytix) installiert, der Node 8.X benötigt. Also BackUp gemacht und nach der allgemeinen Prozedur Node geupdatet.
node -v : v8.15.0
nodejs -v: v8.15.0
npm -v: 6.4.1
Leider geht darauf der Smartmeter Adapter nicht mehr, was natürlich sehr ärgerlich ist.
Was kann ich machen?
Gruß
-
Hast Du damit vllt nodejs geupdatet? Dann musst Du mal mindestens "npm rebuild" im ioBroker Verzeichnis aufrufen weil die ganzen Binären Palete (wie zB Serialport) neu gebaut werden müssen.
-
Ich habe den Adapter nach meinem Post vollständig gelöscht und neuinstalliert. Ergebnis: Läuft wieder :mrgreen:
Sorry fürs stören. Weitermachen…
-
Servus
Ich bin gerade dabei meinen Gaszähler in den Iobroker zu bekommen
Gibt es eine Möglichkeit Impulse zu zählen!? Auf der USB Schnittstelle sehe ich das was ankommt, aber wie kann ich die zählen oder auswerten!
Ist für den smartmeter was hinsichtlich dieser Funktionalität geplant!?
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Nein, der Smartmeter Adapter verarbeitet Smartmeter Datenformate … Impulszählen ist nicht drin und aktuell nicht geplant
-
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
-
Oder auch mal die neuen Adapter von Dutchman checken. Dann braucht man das Skript vllt. Nicht mehr
Gesendet vom Handy …
-
Ja, habe den neuen Adapter mal installiert.
Teste derzeit diesen mal für mich.
-
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.
-
Nein aktuell arbeitet der Smartmeter Adapter mit OBIS basierten Protokollen
-
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
-
Schau mal hier https://github.com/ioBroker/AdapterRequ … -453967916