NEWS
Adapter "smartmeter"
-
Naja, zum 15.7.0 steht da "Aktuelle positive Wirkleistung, Betrag". Damit von der Richtung identisch zu 1.8.0 … also dein aktueller Verbrauch. Einspeisung wäre "negativw Wirkleistung". Und ja, mehr bekommst DU aus dem wohl per SML nicht raus
-
So, also mein Zähler ist von "EMH" der Typ eHZ.HW8E2A5L0EQ2P
Habe dazu aber bisher nicht viel gefunden, könnte von der Anleitung her zu diesem hier passen: https://www.google.de/url?sa=t&rct=j&q= … OQ&cad=rja
Da taucht auch die 15.7.0 auf. Aber helfen tut das scheinbar nicht viel ?
Sieht so aus als bekommt man mehr nicht aus dem Gerät heraus.
1-0:1.7.0*255 Momentane Wirkleistung Bezug
1-0:2.7.0*255 Momentane Wirkleistung Lieferung
Da hätte was kommen sollen (laut dem Link auch ein EMH Zähler) aber die gibt es bei dem Zähler scheinbar nicht ?
Das Ding habe ich auch. Schön dann werde ich schon mal Daten bekommen können, wenn der Lesekopf da ist.
Konntest du schon Diagramme mit den Daten erzeugen?
-
Ich poste mal das was ich auf der Kommandozeile erhalten habe, ich kann damit eh nichts anfangen :lol: `
Mal schauen was Tante Google sagt
Welche Node-version? Welches System? `
Also…..
Node: v4.7.3
System: Ubuntu Lts 16.04 server
Brauchst du noch was!?
-
Ja poste morgen mal ein paar Bilder von Diagrammen. Aber ärgerlich das man nicht sieht wann eingespeist wird und wann bezogen wird [emoji53]
Hab eigene Zähler mit S0 Impulsen laufen die ich rauswerfen wollte. Damit konnte ich auch alles was der eHZ macht. Vorteil ist der Zählerstand den man nun auslesen kann.
Gesendet von iPhone mit Tapatalk
-
Naja, vllt mit den Skripten oben die Differenzen der Zählerstände ausrechnen, damit siehst Du die Unterschiede und damit die Differenz und auch wo Sie ist (1.8.0 oder 2.8.0) … vllt ne Idee
-
0.2.5 auf GitHub … ich hab mal das Speichermanagement vereinfacht an einer Stelle ... wenn es immer noch passiert muss ich weiter schauen
-
0.2.5 auf GitHub … ich hab mal das Speichermanagement vereinfacht an einer Stelle ... wenn es immer noch passiert muss ich weiter schauen `
Hab den Adapter aktualisiert und werde jetzt beobachten! Werde denke ich morgen schon mehr wissen
Gruß
Adrian
Gesendet von iPad mit Tapatalk Pro
-
Ich hatte wieder SIGABRTs Also nächste Runde
Lasse es jetzt mal im Vollen debug laufen und das Log spammen … vllt sieht man ja so noch irgendwas z.B. wo er das problem hat.
Ansonsten muss ich fürchte nochmal in die SML-Library reinschauen ob nicht da was im argen ist
Wenigstens ins der neustart-mechanismus von iobroker stabil sodass effektiv maximal ein Wert fehlt ... nur das im Log ist blöd
-
So sieht dann z.B. der Verlauf des aktuellen Bezuges aus.
Mit dem Skript rechne ich, wie vorgeschlagen, die Verbräuche aus.
Fehler beim auslesen mit dem Kopf von Udo gibt es bisher keine, lese alle 10 Sekunden.
-
Fehler beim auslesen mit dem Kopf von Udo gibt es bisher keine, lese alle 10 Sekunden. `
Auch im Log hast Du kein SIGABRT oder SIGSEGV mit Adapter-Neustarts? Was für System und was node-Version?
-
Also ich hatte seit gestern auch keinen einzigen Ausfall [emoji848]
Komisch ist das schon und ich lese alle 0 Sekunden! Vielleicht liegt es ja nicht am Adapter sondern an anderen Einflüssen
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Super zu wissen! Danke
Ich hab gerade mit der Library und zeug einen test laufen und da stürzt er auch nicht ab … versuche das später malauf meinem cubietruck und als letzte Idee hab ich die Nachricht an sich im Verdacht ... vllt passt da dann und wann mal was nicht vom lesen her. Das ist die letzte idee.
Bitte weiter beobachten und berichten !
Danke. Kriegen wir schon noch stabil
-
So nun isses so weit in bin auch dabei.
Wir ihr sehen könnt kommen Daten rein und ich konnte auch einen Chart des aktuellen Verbrauchs anstellen.
Eine Frage bleibt mir aber. Das Ding sollte einen Monats und Tagesverbrauch ausspucken können, dort reicht mir die Zahl.
Schaut aber nicht so aus als kommen die Zahlen rein.
Dazu eine Idee hier in der Runde?
Ich kann mir mit der Taschenlampe allerdings des Tagesverbrauch und auch den 30 Tageverbrauch anschauen. Bekommt man die Daten dort ausgelesen?
-
Super zu wissen! Danke
Ich hab gerade mit der Library und zeug einen test laufen und da stürzt er auch nicht ab … versuche das später malauf meinem cubietruck und als letzte Idee hab ich die Nachricht an sich im Verdacht ... vllt passt da dann und wann mal was nicht vom lesen her. Das ist die letzte idee.
Bitte weiter beobachten und berichten !
Danke. Kriegen wir schon noch stabil `
Zu früh gefreut…. [emoji30]
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201702 ... b33277.jpg">https://uploads.tapatalk-cdn.com/20170207/40e0e9e45a18dbe9b1bd010b75b33277.jpg</link_text>" />
Jetzt kam leider wieder der SIGSEGV Fehler [emoji24][emoji30]~~
-
Ich kann mir mit der Taschenlampe allerdings des Tagesverbrauch und auch den 30 Tageverbrauch anschauen. Bekommt man die Daten dort ausgelesen? `
Naja … alles was rauskommt, kommt in ioBroker rein. Bedeutet (und das haben schon mehrere andere verifiziert) das diese Daten wohl über die IR-Schnittstelle nicht ausgegeben werden.
Aber ioBroker wäre ja nicht ioBroker wenn man das nicht skripten könnte. Sie weitere oben im Thread sind coole JavaScriptchen die genau diese Dinge tun :-)) Also: workaround ist oben
@simpixo: Ich hab heute auf meinem Arbeitsrechner den ganzen Tag die Library mit nem simulierten Serialport und so laufen gehabt und alles war perfekt und nichts ist gecrasht. Aber naja wir schauen mal weiter.
Am Ende ist aber wie oben geschrieben: Ausser hier und da ein "nerviger Logeintrag irgendwie ja alles super ... oder ?!
-
@chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt.
-
Ich kann mir mit der Taschenlampe allerdings des Tagesverbrauch und auch den 30 Tageverbrauch anschauen. Bekommt man die Daten dort ausgelesen? `
Naja … alles was rauskommt, kommt in ioBroker rein. Bedeutet (und das haben schon mehrere andere verifiziert) das diese Daten wohl über die IR-Schnittstelle nicht ausgegeben werden.
Aber ioBroker wäre ja nicht ioBroker wenn man das nicht skripten könnte. Sie weitere oben im Thread sind coole JavaScriptchen die genau diese Dinge tun :-)) Also: workaround ist oben
@simpixo: Ich hab heute auf meinem Arbeitsrechner den ganzen Tag die Library mit nem simulierten Serialport und so laufen gehabt und alles war perfekt und nichts ist gecrasht. Aber naja wir schauen mal weiter.
Am Ende ist aber wie oben geschrieben: Ausser hier und da ein "nerviger Logeintrag irgendwie ja alles super ... oder ?! `
Ja klar ist alles super, ist halt nur ein klitzekleines kosmetisches Problem [emoji6]
Das wird mich auch nicht dran hindern den Adapter zu benutzen!!! Ist genau das was ich schon die ganze Zeit haben wollte! Jetzt muss ich nur noch was für den Gaszähler was finden
Ich werde mal dann einfach das Intervall einfach höher setzen und dann läuft dieser ohne Probleme durch!
Gesendet von iPhone mit Tapatalk Pro
-
@chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt. `
Das wären dann aber recherische Werte die aus den Momentanwert kommen. Also nicht aus dem Gerät?
Natürlich sehr Schade wenn das so ist. Kannst du kurz schreiben was ich mit dem Script genau machen muss, ich bin bis jetzt mit so etwas nicht in Berührung gekommen. Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen?
-
@chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt. `
Das wären dann aber recherische Werte die aus den Momentanwert kommen. Also nicht aus dem Gerät?
Natürlich sehr Schade wenn das so ist. Kannst du kurz schreiben was ich mit dem Script genau machen muss, ich bin bis jetzt mit so etwas nicht in Berührung gekommen. Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen? `
Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen? `
- Für stündliche Statistik - 1 x pro Stunde
Für tägliche Statistik - 1 x pro Tag Für wöchentliche Statistik - 1 x pro Woche Für monatliche Statistik - 1 x pro Monat
Also nach meinen Informationen, kannst du zwar durch das Blinken verschiedene Werte abrufen, diese werden aber ausschließlich im Display angezeigt und nicht als Datenpaket gesendet.
Jetzt mal zum meinem Skript. Ich erklär das am Beispiel des Tageswertes.
Jeden Tag um 23:59 (Man könnte das auch auf die Spitze treiben und es um 23:59:59 starten) wird der aktueller Gesamtverbrauch in den Datenpunkt "javascript.0.Stromzähler.Hager.tmp.Total-d" gespeichert. Diesen Wert speichere ich persönlich noch in der DB. Muss aber nicht sein. Der Wert Gleichzeitig wird die Differenz zwischen den letzten und dem aktuellen Eintrag in diesem Datenpunkt berechnet. Gesamt(aktuell) - Gesamt(letztens) = Tagesverbrauch. Dieser Tagesverbrauch, als relativer Wert, wird in den Datenpunkt "javascript.0.Stromzähler.Hager.Day" gespeichert.
Das ist Alles. Im ".Total-d" habe ich den absoluten Wert des Zählers am Ende jeden Tages. Was mir auch erlaubt nachträglich Berechnungen durchzuführen).
Im ".Day" habe ich den relativen Verbrauchswert am Ende jeden Tages. Woraus ich eine Tagesverbrauchskurve erstellen kann.
Das Gleich wird von meinem Skript stündlich, täglich, wöchentlich und monatlich gemacht. Die Datenmenge, die in der DB gespeichert werden ist dann entsprechend mehr oder weniger hoch, allerdings übersichtlich.
- minütlich: 525600 pro Jahr
stündlich: 8760 pro Jahr täglich: 365 pro Jahr wöchentlich: 52 pro Jahr monatlich 12 pro Jahr.
Da ich zusätzlich den Gesamtverbrauch (Wert aus smartmeter) minütlich speichere, bin ich in der Lage mittels SQL auch Andere Punkte zu berechnen. Was aber, wenn man auf die minütliche Auswertung verzichtet, nicht machen muss.
Melde dich, falls du noch weitere Fragen an mich hast
Aktuelle Version:
! ````
// NEU - Zählerstand vom Anfang der akt. Stunde wird ermittelt
//
! var cronH = "0 * * * *";
var cronD = "59 23 * * *";
var cronW = "0 0 * * 1";
var cronM = "0 0 1 * ";
! var idHAGTotH = "javascript.0.Stromzähler.Hager.tmp.Total-h";
var idHAGTotD = "javascript.0.Stromzähler.Hager.tmp.Total-d";
var idHAGTotW = "javascript.0.Stromzähler.Hager.tmp.Total-w";
var idHAGTotM = "javascript.0.Stromzähler.Hager.tmp.Total-m";
var idHAGTotal = "smartmeter.0.1-0:1_8_0255.value"; /Stromverbrauch insgesammt/
var idHAGZielH = "javascript.0.Stromzähler.Hager.Hour";
var idHAGZielD = "javascript.0.Stromzähler.Hager.Day";
var idHAGZielW = "javascript.0.Stromzähler.Hager.Week";
var idHAGZielM = "javascript.0.Stromzähler.Hager.Month";
var debug = false;
! var DPArray = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
var DPUnit = "kWh";
! DPArray.forEach(function(wert, index, array) {
var DPType = wert.split(".");
var DPDescr = "Power consumption of " + (DPType[DPType.length - 1]);if(index > 3) DPUnit = "Wh"; createState(wert, 0, { name: DPDescr, desc: DPDescr, type: 'number', unit: DPUnit, role: 'value' });
});
! function haupt (VorId, ZielId) {
var nVorwert = getState(VorId).val;
var nAktuell = getState(idHAGTotal).val;
var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
setState(ZielId, nDiff, true);
if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
var shandler = on ({id: ZielId, change: 'any'}, function(data) {
setState(VorId, (nAktuell*10)/10, true);
unsubscribe(shandler);
});
}
! // regelmässige Wiederholungen
// -----------------------------------------------------------------------------
! schedule(cronH, function () {
haupt(idHAGTotH, idHAGZielH);
});
schedule(cronD, function () {
haupt(idHAGTotD, idHAGZielD);
});
schedule(cronW, function () {
haupt(idHAGTotW, idHAGZielW);
});
schedule(cronM, function () {
haupt(idHAGTotM, idHAGZielM);
});
! ````Viel Spaß,
a200.
-
Ok das hört sich gut an. Auf welche Zeit hast du im Adapter gestellt?
Meinst du, du kannst mir erklären wo ich das Skript einfügen muss und wie ich es in Betrieb bekomme?
Würde dann heute Abend versuchen wollen das Skript in Betrieb zu bekommen.
Wäre dir wirklich sehr dankbar.
Ach und einen zweiten Zählen für meine WP sollte kein Problem sein denke ich mal oder?