NEWS
[Aufruf] G-Homa Adapter testen
-
In der App wird es nur so gezeigt, weiß aber auch nicht ob das bei der Ersteinrichtung so war. Nochmal kurz zum Verständnis. Du veränderst die Software/Firmware auf dem Gerät nicht sondern gaugelst per Adapter nur den Server vor oder veränderst Du irgendetwas auf der Steckdose.
Bis jetzt habe ich es noch nicht hinbekommen das WLAN zu wechseln… Probiere aber weiter.
vg
-
-
-
Ich scheue mich ehrlich gesagt, Auswertungsfunktionen in Adapter zu integrieren. Streng genommen sollten Hardware-Adapter nur der Ansteuerung von Geräten dienen. Sonst stehen wir irgendwann an dem Punkt, dass jeder Adapter das gleiche berechnet, obwohl es zentral besser aufgehoben wäre.
Anscheinend kann das G-Homa Protokoll auch selbst Energieverbrauch übermitteln, die Steckdose scheint es aber nicht zu tun:
https://github.com/AlCalzone/node-g-hom … er.ts#L133
Die Auswertung wäre eher was für den History- oder einen (nicht existierenden) Statistik-Adapter. Hab dort mal ein Issue eröffnet: https://github.com/ioBroker/ioBroker.history/issues/25
Vorübergehend kannst du das mit einem eigenen Skript tun, das bei jeder Aktualisierung des States mit der Trapezregel die verbrauchte Energie seit dem vorherigen Wert berechnet:
Verbrauch += 0,5 * (neuer Wert + alter Wert) * (timestamp_jetzt - timestamp_vorher) -
Danke… Per Skript würde mir ja auch erstmal reichen :)
Wäre das so machbar oder wäre das totaler Quatsch?
on({id:"g-homa.0.XXXXXX.power", change:"ne"}, function(obj) { var NewValue = obj.state.val; var OldValue = obj.oldState.val; var NewTime = obj.state.lc; var OldTime = obj.oldState.lc; var Verbrauch = getState("g-homa.0.XXXXXX.energie").val; Verbrauch += 0.5 * (NewValue + OldValue) * (NewTime - OldTime); setState("g-homa.0.XXXXXX.energie", Verbrauch); setState("g-homa.0.XXXXXX.oldTime", NewTime); setState("g-homa.0.XXXXXX.oldVal", NewValue); }); -
Sieht gut aus, aber:
-
oldTime und oldVal speichern macht IMO keinen Sinn.
-
Statt lc (last change, bezieht sich auf noch älteren Wert) solltest du die ts-Eigenschaft (timestamp, bezieht sich auf Schreiben des Wertes) verwenden.
-
change sollte "any" sein, dann wird auch bei gleichbleibender Leistung weitergerechnet.
-
-
- oldTime und oldVal speichern macht IMO keinen Sinn. `
jo sorry war noch ein Überbleibsel
@AlCalzone:- Statt lc (last change, bezieht sich auf noch älteren Wert) solltest du die ts-Eigenschaft (timestamp, bezieht sich auf Schreiben des Wertes) verwenden. `
wurde geändert
@AlCalzone:
- change sollte "any" sein, dann wird auch bei gleichbleibender Leistung weitergerechnet. `
wurde geändert
Hier mal das neue Skript:
var instanz = 'javascript.0' + '.'; var pfad = 'Strom.'; var idGHomaPower1 = 'g-homa.0.XXXXXX.power', idGHomaEnergie1 = pfad + 'XXXXXX.ENERGY_COUNTER'; createState(idGHomaEnergie1, 0, {name: 'Energie Counter XXXXXX', type: 'number', unit:'Wh'}); on({id:idGHomaPower1, change:'any'}, function(obj) { var Verbrauch = getState(idGHomaEnergie1).val; Verbrauch += 0.5 * (obj.state.val + obj.oldState.val) * (obj.state.ts - obj.oldState.ts); setState(idGHomaEnergie1, Verbrauch); });Danke Dir. Der Verbrauch sind dann Wh oder?
-
Funktioniert. Falls es auch jemand verwenden möchte, hier das endgültige Skript:
! ````
var instanz = 'javascript.0.';
var pfad = instanz + 'Strom.';
! var idGHomaPower1 = 'g-homa.0.XXXXXX.power',
idGHomaEnergie1 = pfad + 'XXXXXX.ENERGY_COUNTER'';
! createState(idGHomaEnergie1, 0, {name: 'Energie Counter XXXXXX', type: 'number', unit:'Wh'});
! on({id:idGHomaPower1, change:'any'}, function(obj) {
var Verbrauch = getState(idGHomaEnergie1).val;
Verbrauch += (0.5 * (obj.state.val + obj.oldState.val) * (obj.state.ts - obj.oldState.ts)) / 3600000;
setState(idGHomaEnergie1, Verbrauch);
});Danke für die Unterstützung @AlCalzone… vg -
Ich habe für das Objekt Power die SQL-History aktiviert. Soweit so gut, nur der Log wird dadurch extrem belastet. Ich habe gelesen, dass die Ursache im Adapter liegen kann. Kannst Du bitte mal schauen/prüfen? viewtopic.php?t=8903
Diese Meldungen für meine 4 Steckdosen mit Verbrauchsanzeige werden so alle paar Sekunden in die LOG geschrieben…
sql.0 2018-06-16 21:58:34.589 info enabled logging of g-homa.0.XXXXXX.powerDanke & vg
Falk
-
Ok probiere ich heute abend aus.
$ ./iobroker url "https://github.com/AlCalzone/ioBroker.g-homa/tarball/master" g-homaÜber iobroker.pro bin ich mir nicht sicher ob er korrekt aktualisiert wird. Ich werde hier berichten.
-
Habe ich über iobroker ausgeführt wobei ich mir dabei nicht sicher bin, ob das zum Erfolg führte, da die Meldungen immer noch erscheinen. Ich teste das heute abend nochmal ;) `
Upload und Instanzneustart nach der Installation gemacht? ;) Kann natürlich auch sein, dass ich noch was übersehen hab. -
Upload und Instanzneustart nach der Installation gemacht? Kann natürlich auch sein, dass ich noch was übersehen hab. ` Sieht gut aus… Danke
-
Hallo,
Habe mir gestern auch eine Homa-Dose mit Verbrauchsmessung zugelegt. Woher bekomme ich den aktuellen Verbrauch. Adapter funktioniert und Dose lässt sich über iobroker schalten. Nur der Datenpunkt für den Verbrauch wird nicht angezeigt. Bei meiner TP-Link habe ich ein ähnliches Problem. Da wird zwat der Datenpunkt angezeigt - ist aber immer 0.
Bin langsam am verzweifeln.
LG Rainer

