NEWS
Adapter "smartmeter"
-
Hallo dj.tifosi
Wie ist denn der Abfrageintervall im Smartmeter Adapter eingestellt?
Der Easymeter liefert alle zwei Sekunden neue Daten, benötigst du das so häufig?
Ich frage meinen alle 60 sec ab, dieser Intervall ist für mich ausreichend.
Ich hatte damals den Volkszähler mit alle zwei Sekunden neue Daten am laufen, damit starb die SD-Karte innerhalb von 6-8 Wochen.
Warum hast du im History-Adapter eine Entprellzeit von 10000 ms anstelle default 1000 ms eingestellt? `
Hallo Röstkartoffel,
willkommen im Club, das gleiche ist mir mit der SD-Karte meines Raspbis auch passiert, als ich noch SBFspot und Volkszähler am laufen hatte und alle Daten in kurzen Intervallen in einer MySQL Datenbank speichern ließ.
Ich bin also mittlerweile auch davon geheilt, die Daten allzu lange aufzuheben und sie in sehr geringen Abständen zu speichern. Daher hebe ich sie erst einmal nur einen Tag lang auf. Das reicht um beurteilen zu können, wann man einen zusätzlichen Verbraucher anschalten könnte, um den Direktverbrauch an selbst erzeugtem PV-Strom zu optimieren.
Das Abfrageintervall im Smartmeter-Adapter habe ich auf 30 Sekunden gestellt, die Entprellzeit sollte ja in diesem Fall unerheblich sein, da sie kürzer ist als das Intervall, in dem neue Daten rein kommen (Abfrageintervall), oder hab ich hier falsch gedacht? Hab sie testweise auch mal auf 1000 ms herunter gesetzt, ändert aber leider nichts an meinem Problem, dass die Daten nach etwa 20 min aus der Historie verschwinden.
Die Einstellung deiner Konfiguration der History des Datenpunktes sorgt schon mal dafür, dass die Daten nach 1 Tag gelöscht werden.
Außerdem loggst du nur Änderungen. Wenn also der Wert gleich bleibt gibt es keine neuen.
Dass die Tabelle geleert wird liegt daran, dass dort nur ein Ausschnitt gezeigt wird (Im Admin v3 wirst du dieses konfigurieren können), in der Datenbank aber mehr Daten liegen sollten, sofern sie eben geänderte Werte sind, maximal aber nur 1 Tag.
Gruß
Rainer `
Hallo Homoran,
ja, das mit dem Löschen nach einem Tag ist schon ok, allerdings sollten die Daten wegen dieser Einstellung ja nicht bereits nach 20 min verschwinden. Und ja, ich logge bewusst nur Änderungen, um das Datenvolumen möglichst zu reduzieren, denn wenn der Wert gleich bleibt muss ja nicht alle 30 Sekunden gleich ein neuer Datensatz gespeichert werden, oder habe ich hier einen Denkfehler?
Der Ausschnitt, der mir im Admin gezeigt wird, ist beim Modbus-Adapter aber zeitlich rolliehrend, das heißt wenn ein neuer Wert hinzu kommt, verschwindet der aktuell älteste aus der Anzeige und so weiter. Beim Smartmeter-Adapter hingegen ist das Verhalten aber, dass zu einem bestimmten Zeitpunkt alle Werte aus der Anzeige verschwinden und ab dann wieder neue Werte gesammelt werden, bis sich der Rhythmus von neuem wiederholt. Das unterschiedliche Verhalten verstehe ich eben nicht.
Gibt es denn eine Möglichkeit, auf die Rohdaten der Datenbank zuzugreifen? Soweit ich weiß ist das ein Redis-Cache, oder? Gibt's da vielleicht einen Client, der bei iobroker mit dabei ist? Leider habe ich noch nicht das Admin V3 am Laufen, da ich darauf warte, bis es stable ist.
Dankeschön für eure Hilfe und viele Grüße,
Marco
-
Die files der History liegen als json files auf der Platte unter /opt/iobroker/iobroker-data. Der Redis (wenn du ihn nutzt) speichert nur den aktuellen State wert.
-
Hi,
mir ist was doofes passiert: Hab mir die Instanz gelöscht. Eigentlich kein Problem - hab ja die Einstellungen als Screenshot abgelegt.
Also neue Instanz installiert (V1.1.0), eingestellt, gestartet - keine Objekte? Hab ein bisschen rumgetüftelt und komm jetzt nicht mehr weiter.
Typ: Iskraemeco MT691
Im log steht das hier:
` > smartmeter.0 2018-02-11 21:30:23.645 warn No or too long answer from Serial Device after last request.smartmeter.0 2018-02-11 21:30:23.643 info Error: No or too long answer from Serial Device after last request. `
Kann mich nicht erinnern, dass ich das Problem schon mal hatte.
Setz ich den log auf Debug scheint die Kommunikation was zu machen:
` > smartmeter.0 2018-02-11 21:35:43.317 debug MATCH-RESULT SIGNON: "\u0000�\u001b\u001b\u001b\u001b\u0001\u0001\u0001\u0001v\u0005\u0001xw�b\u0000b\u0000rc\u0001\u0001v\u0001\u0001\u0005\u0000}}P\u000b\n\u0001ISK\u0000\u0004 \u0015\u000erb\u0001smartmeter.0 2018-02-11 21:35:43.316 debug CURRENT PROCESS STEP 0 IN CHECKMESSAGE
smartmeter.0 2018-02-11 21:35:43.316 debug ADD NEW DATA (3593 + NEW 13) `
Anbei auch noch meine Einstellungen - vielleicht ist der Fehler so offensichtlich, dass ich ihn nicht sehe?
Hab auch schon mal neu gebootet - hat auch nicht geholfen.
Danke !
Georg
1643_unbenannt.png -
Also an sich sieht es nach falschen kommunikationseinstellungen aus. Für d0 gelten an sich besondere Einstellungen und du hast nur die Baudrate fest gesetzt. Setze die anderen auch mal korrekt. States werden erst nach dem Empfang der ersten korrekten Nachricht angelegt.
-
ich hab mal 8/1/none versucht - hilft nicht
-
arg - ist SML nicht D0 :oops: :oops: :oops: :oops: :oops:
klappt wieder :oops: :oops: :oops: :oops:
-
Die files der History liegen als json files auf der Platte unter /opt/iobroker/iobroker-data. Der Redis (wenn du ihn nutzt) speichert nur den aktuellen State wert. `
Vielen Dank, bei meinem Setup liegen sie aber wo anders, da ich heute mittag in der Config des History-Adapter das Feld Speicherverzeichnis angegeben habe (war vorher leer) da ich ausschließen wollte, dass mein Problem darin liegt, das die Messwerte nur im RAM historiesiert und daher früher als gewünscht verworfen werden. Hat allerdings auch nicht geholfen.
Ich hab mal in eine Json-Datei reingeschaut und tatsächlich ist der älteste Wert von heute Mittag, etwa 11:23 Uhr:
{ "val": 329.79, "ack": true, "ts": 1518355412717, "q": 0 },
Das heißt ja, die älteren Hisory-Werte sind eigentlich da. Es bleibt nur die Frage, warum der flot-Adapter sie nicht darstellt.
Gibt's da vielleicht noch ne Einstellung, die ich versehentlich falsch gesetzt haben könnte?
Edit: Muss meine Aussage noch etwas korrigieren. Hab das Verhalten eben noch einmal genau beobachtet und festgestellt, dass die Messwerte nach genau 10 Minuten verschwinden. Auch wenn das Diagramm eine Breite von standardmäßig 30 Minuten hat.
-
Kannst du das bitte beschreiben - vor allem an welcher Stelle in Tasmota hast du welchen Code eingefügt? Wie kannst du mit dem Sonoff Adapter darauf zugreifen? - verwendest du dazu bereits vorhandene Datenpunkte?
Dieses Konzept könnte man ja auch für andere Sachen verwenden die Tasmota nicht unterstützt werden (z.B. Füllstadssensor mittels Ultraschall)
LG Schubi
Hallo allerseits,
habe das Problem etwas anders gelöst. Habe SML und EBUS in Tasmota eingebaut und sende die Daten über MQTT an iobroker.sonoff.
Wenn jemand Interesse hat kann ich gerne die Quellen posten.
Gruß
Gerhard
Habe im Tasmota Sensorinterface 2 neue Vorverarbeitungen eingebaut, die dann eigene Werte für SML und EBUS im Sonof Adapter setzen. Unten das readme dazu.
Gruß Gerhard
==================
Smart Message Language
works with binary SML and ASCI OBIS (can easily be modified)
convert eg a sonoff basic to a smart meter reader
simply connect serial rec pin to phototransistor with 1 kOhm Pullup and apply to smart meter ir diode
in Webinterface set serial rec pin to SML
sends MQQT to iobroker (set teleperiod to eg. 10 seconds)
=> modify iobroker.sonoff server.js type struct
by adding these lines
Total_in: {type: 'number', role: 'value.power.consumption', read: true, write: false, unit: 'kWh'},
Total_out: {type: 'number', role: 'value.power.consumption', read: true, write: false, unit: 'kWh'},
Power_curr: {type: 'number', role: 'value.power.consumption', read: true, write: false, unit: 'W'},
EBUS (Wolf)
convert eg a sonoff basic to an EBUS reader
connect rec pin with level converter for ebus levels (read only mode)
in Webinterface set serial rec pin to EBUS
=> modify iobroker.sonoff server.js type struct
by adding these lines
Aussensensor: {type: 'number', role: 'value.temperature', read: true, write: false, unit: '°C'},
Raumtemperatur: {type: 'number', role: 'value.temperature', read: true, write: false, unit: '°C'},
Heizkessel: {type: 'number', role: 'value.temperature', read: true, write: false, unit: '°C'},
Ruecklauf: {type: 'number', role: 'value.temperature', read: true, write: false, unit: '°C'},
Warmwasser: {type: 'number', role: 'value.temperature', read: true, write: false, unit: '°C'},
Brenner: {type: 'number', role: 'value', read: true, write: false},
Status: {type: 'number', role: 'value', read: true, write: false},
Solarspeicher: {type: 'number', role: 'value.temperature', read: true, write: false, unit: '°C'},
Kollektor: {type: 'number', role: 'value.temperature', read: true, write: false, unit: '°C'},
Solarpumpe: {type: 'number', role: 'value', read: true, write: false},
Sonoff LED lights when valid SML or EBUS signal is received
5808_bildschirmfoto_2018-02-13_um_13.15.50.png
5808_bildschirmfoto_2018-02-13_um_13.16.05.png -
Sieht schick aus; einen billigen ESP8266 als Vorverarbeitungsstufe. Und das noch alles im Tasmota Framework. Gefällt mir!
-
Ich habe diesen: http://shop.weidmann-elektronik.de/inde … ct&info=24
Gruß `
Hi Michael,
hab den selben Sensor. Hast du ihn konfiguriert bekommen? Wenn ja, könntest du mir mal bitte die Einstellungen senden? Dankeschön!
Geändert: sinnloses Fullquote gelöscht; Homoran (Mod)
-
Hi,
also ich habe einen ITON ACE3000 Typ 260 Zähler und den Lesekopf von http://shop.weidmann-elektronik.de/inde … ct&info=24. Meine Adapter-Einstellungen siehe Anhang.
Die Grunddaten dafür lauten lt. Internet:
` > Im Handbuch des ITRON ACE3000 Typ 260 können Sie die Daten für eine Kommunikation gemäß DIN EN 62056-21 "Mode C-a" entnehmen.
Baud: 300
Zeichenformat: 1_7D_1P_E_1S
Modus: Netzspannung
Protokoll: C `
bzw.
> Für die Kommunikation mittels d0-Protokoll muss zuerst eine Initialisierungs-Sequenz „/?!“ mit 300bd, 7E1 und „LF+CR“ geschickt werden, um ihn zum Antworten zu bewegen. Die Baudrate kann bei dem Zähler nicht geändert werden und bleibt bei 300bd.
Einmalig kommen irgendwie Daten an, dann aber scheinbar nicht mehr. Zumindest ändert sich der Wert unter "Objekte" nicht mehr.
Kann mir jemand weiterhelfen?
5919_smartmeter.png -
Lösch mal die signon nachreicht raus. Das was dein Zähler will ist Standard also hier leer lassen. Geht es dann?
Auch das überschreiben des Modus erstmal raus. Wenn der Zähler dem Standard folgt dann geht alles automatisch.
Die überschreiben Optionen sind nur für Sonderfälle nötig.
Ansonsten Adapterinstanz unter Instanzen -Expertenmodus loglevel auf debug setzen und Posten.
-
-
SignOn Nachricht hab ich raus gelöscht und auch die Überschreibungen raus genommen. Jetzt fehlt das smartester Objekt gänzlich
-
Wenn’s mal da war Kammes nicht verschwinden mal Objekte reloaden (button mit zwei Pfeilen im Kreis) und auch die Filter checken die ggf gesetzt sind.
-
Screenshot 2018-02-17 10.55.35.png `
Hab den Adapter nochmal komplett neu installiert, Pi neu gestartet, und mit den Einstellungen von Micha konfiguriert. Jetzt klappt alles suuuper! Abfrageintervall hab ich auf 60s gestellt.
Vielen Dank für eure Unterstützung! Echt genial
-
Hallo zusammen,
ich habe mir vor kurzem ioBroker installiert und bin eigentlich sehr begeistert.
Nur leider habe ich ein Problem mit dem Auslesen meines Easymeters.
Ich habe zwei Stück verbaut.
Das erste ist für die Solaranalage und hat die Bezeichung Q3CA1261 Diesen kann ich auslesen.
Der zweite ist der Hausstrom und hat die Bezeichung Q3CA1181. Hier ist kein Auslesen möglich.
Es wird eine Fehlermeldung generiert. Ich habe einen Auszug des Logs als Datei angehängt.
Beide Smartmeter lassen sich einwandfrei mit dem Volkszähler auslesen.
Ich hoffe ihr könnt mir hier weiter helfen. Danke schon mal.
Matthias
6129_iobrokersmartmeter.txt -
Ich kann zwar die Fehlermeldungen nicht deuten, aber könntest du bitte mal die Einstellungen der Adapter posten sowie deine Anschlüsse und die Hardware beschreiben?
Enrico
-
@bongo22@gmx.de:Der zweite ist der Hausstrom und hat die Bezeichung Q3CA1181. Hier ist kein Auslesen möglich.
Es wird eine Fehlermeldung generiert. Ich habe einen Auszug des Logs als Datei angehängt.
Beide Smartmeter lassen sich einwandfrei mit dem Volkszähler auslesen. `
Jupp, da scheint der Zählerhersteller mal wieder entweder eigene Feldtypen zu nutzen die nicht offiziell definiert sind. Ich schaue die Tage mal rein, hab aber noch ein anderes Projekt was ich erst abschliessen will.
Was ich brauche ist bitte das "vollständige Log" aus dem Logfile was unter /opt/iobroker/log/… liegt. Du hast denke aus dem Admin kopiert, da ist es abgeschnitten! Bitte hier posten oder mir als PN schicken. Die Zeilen mit "Error while parsing SML message" sind die interessanten
Melde mich wenn ich was zum testen hab.
-
Vielen Dank schon mal für die schnelle Anwort.
Hier der Log mit dem vollständigen Error.
6129_smartmeter.log