NEWS
[SourceAnalytix 0.4.8-Final] Released !
-
@crunchip
Cool! Klasse Tip!
Habs gerade probiert, geht dann bei 0 natürlich in den Minusbereich kurzzeitig, aber wenn dann der richtige Wert wieder kommt, dann passt es wieder.
Und schon gelöstVielen Dank
-
Danke für den Input.
Gibt's da ein bereits etwas bestehendes oder ist es nur wichtig, dass der Wert in einen eigenen Datenpunkt geschrieben wird?
Ich logge den bestehenden Datenpunkt von Shelly bereits mit einem eigenen Script und schreibe den Wert in einen Datenpunkt unter 0_userdata.var Phase_1_3_Total, Phase_2_Total, Phase_3_Total, Phase_1_Total; on({id: [].concat(['shelly.0.SHEM-3#8CAAB56194DB#1.Total.ConsumedPower']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Phase_1_3_Total = getState("shelly.0.SHEM-3#8CAAB56194DB#1.Total.ConsumedPower").val; setState("0_userdata.0.Energie.Shelly.3EM-Wohnung.Phase_1-3_Total"/*Phase_1-3_Total*/, Phase_1_3_Total, true); }); on({id: [].concat(['shelly.0.SHEM-3#8CAAB56194DB#1.Emeter0.Total']), change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Phase_1_Total = getState("shelly.0.SHEM-3#8CAAB56194DB#1.Emeter0.Total").val; setState("0_userdata.0.Energie.Shelly.3EM-Wohnung.Phase_1_Total"/*Phase_1_Total*/, Phase_1_Total, true); }); on({id: [].concat(['shelly.0.SHEM-3#8CAAB56194DB#1.Emeter1.Total']), change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Phase_2_Total = getState("shelly.0.SHEM-3#8CAAB56194DB#1.Emeter1.Total").val; setState("0_userdata.0.Energie.Shelly.3EM-Wohnung.Phase_2_Total"/*Phase_2_Total*/, Phase_2_Total, true); }); on({id: [].concat(['shelly.0.SHEM-3#8CAAB56194DB#1.Emeter2.Total']), change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Phase_3_Total = getState("shelly.0.SHEM-3#8CAAB56194DB#1.Emeter2.Total").val; setState("0_userdata.0.Energie.Shelly.3EM-Wohnung.Phase_3_Total"/*Phase_3_Total*/, Phase_3_Total, true); });
Reicht das schon oder brauche ich da noch mehr?
Bevor ich das ganze Konstrukt umhänge möchte ich sicher sein, dass das funktioniert.
Wird aber so sein, dass ich das herausfinden muss...Gruss
Stefan -
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Gibt's da ein bereits etwas bestehendes oder ist es nur wichtig, dass der Wert in einen eigenen Datenpunkt geschrieben wird?
-
Danke dir. Ich habe mir das Script eingebaut und entsprechend angepasst.
Ich lasse es mal laufen und beobachte was bei einem erneuten DeviceReset vom Shelly passiert.
Den Tip mit dem Heraufsetzen vom DeviceReset-Wert habe ich mir in meiner Testumgebung mal nachgebaut. Eventuell hilft das auch noch.
Ist auf jeden Fall unschön wenn die Funktion so lange einwandfrei klappt und dann alle Auswertungen durcheinander kommen weil das Teil so rumzickt....Gruss
Stefan -
bei mir werden die Tageswerte nicht auf 0 gesetzt. Somit für mich der Adapter unbrauchbar...
Anbei ein Log. Kann jemand etwas damit anfangen?2023-03-31 07:27:31.221 - info: sourceanalytix.0 (13602) starting. Version 0.4.14 in /opt/iobroker/node_modules/iobroker.sourceanalytix, node: v16.19.1, js-controller: 4.0.24 2023-03-31 07:27:31.260 - info: sourceanalytix.0 (13602) Welcome to SourceAnalytix, making things ready ... 2023-03-31 07:27:31.340 - info: sourceanalytix.0 (13602) Found 3 SourceAnalytix enabled states 2023-03-31 07:27:31.342 - info: sourceanalytix.0 (13602) Initialising (1 of 3) "fritzdect.0.DECT_116570570860.energy" 2023-03-31 07:27:31.397 - error: sourceanalytix.0 (13602) No cost type defined for fritzdect.0.DECT_116570570860.energy, please Select Type of calculation at state setting 2023-03-31 07:27:31.398 - error: sourceanalytix.0 (13602) Cannot handle calculations for fritzdect.0.DECT_116570570860.energy, check log messages and adjust settings! 2023-03-31 07:27:31.400 - error: sourceanalytix.0 (13602) Initialization of fritzdect.0.DECT_116570570860.energy failed, check warn messages ! 2023-03-31 07:27:31.401 - info: sourceanalytix.0 (13602) Initialising (2 of 3) "shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy" 2023-03-31 07:27:31.454 - error: sourceanalytix.0 (13602) No cost type defined for shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy, please Select Type of calculation at state setting 2023-03-31 07:27:31.455 - error: sourceanalytix.0 (13602) Cannot handle calculations for shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy, check log messages and adjust settings! 2023-03-31 07:27:31.456 - error: sourceanalytix.0 (13602) Initialization of shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy failed, check warn messages ! 2023-03-31 07:27:31.457 - info: sourceanalytix.0 (13602) Initialising (3 of 3) "0_userdata.0.PC-Server" 2023-03-31 07:27:32.844 - info: sourceanalytix.0 (13602) Initialization of 0_userdata.0.PC-Server successfully 2023-03-31 07:27:32.858 - warn: sourceanalytix.0 (13602) Cannot handle calculations for 2 of 3 enabled states, check error messages
-
von welchem der drei Werte aus dem Log sprichst du?
hast du die Fehlermeldungen schon behoben die im Log stehen?
2023-03-31 07:27:31.397 - error: sourceanalytix.0 (13602) No cost type defined for fritzdect.0.DECT_116570570860.energy, please Select Type of calculation at state setting 2023-03-31 07:27:31.398 - error: sourceanalytix.0 (13602) Cannot handle calculations for fritzdect.0.DECT_116570570860.energy, check log messages and adjust settings! 2023-03-31 07:27:31.400 - error: sourceanalytix.0 (13602) Initialization of fritzdect.0.DECT_116570570860.energy failed, check warn messages ! 2023-03-31 07:27:31.401 - info: sourceanalytix.0 (13602) Initialising (2 of 3) "shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy" 2023-03-31 07:27:31.454 - error: sourceanalytix.0 (13602) No cost type defined for shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy, please Select Type of calculation at state setting 2023-03-31 07:27:31.455 - error: sourceanalytix.0 (13602) Cannot handle calculations for shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy, check log messages and adjust settings! 2023-03-31 07:27:31.456 - error: sourceanalytix.0 (13602) Initialization of shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy failed, check warn messages ! 2
zusätzlich solltest du deine Einstellungen von den Datenpunkten die du berechnen möchtest zeigen.
-
danke für dein Interesse...
zwei Werte aus dem Log...Wenn ich den Adapter Neu-starte, werden die Tageswerte wieder auf 0 gesetzt. Dies sollte aber doch gegen 24.00 Uhr doch selbständig passieren oder?
1 - ist ein Shelly, womit ich mein Solar-Ertrag in Wh pro Tag errechnen möchte.
{ "type": "state", "common": { "name": "Energy", "type": "number", "role": "state", "read": true, "write": false, "def": 0, "unit": "Wh", "custom": { "influxdb.0": { "enabled": true, "storageType": "", "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": 0, "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "enableDebugLogs": false, "debounce": 1000 }, "sourceanalytix.0": { "enabled": true, "selectedUnit": "Detect automatically", "deviceResetLogicEnabled": true, "threshold": 1, "start_day": 0, "start_week": 0, "start_month": 0, "start_quarter": 0, "start_year": 0 } } }, "native": {}, "_id": "shelly.0.shellyplus1pm#48551999ccc0#1.Relay0.Energy", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1680242526118 }
2 - Fritzdeck-Steckdose, hiermit wird auch noch der Etrag in Wh überwacht.
{ "type": "state", "common": { "name": "Energy consumption", "type": "number", "min": 0, "max": 999999999, "unit": "Wh", "read": true, "write": false, "role": "state", "desc": "Energy consumption", "custom": { "influxdb.0": { "enabled": true, "storageType": "", "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": 0, "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "enableDebugLogs": false, "debounce": 1000 }, "sourceanalytix.0": { "enabled": true, "selectedUnit": "Detect automatically", "deviceResetLogicEnabled": true, "threshold": 1, "start_day": 0, "start_week": 0, "start_month": 0, "start_quarter": 0, "start_year": 0 } } }, "native": {}, "_id": "fritzdect.0.DECT_116570570860.energy", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1680242639929 }
-
in der ersten Zeile solltest du ElectricityDay und Wh auswählen. Dann sollte "Verbrauch berechnen" ausgewählt werden.
-
@tt-tom
sehr geil, vor lauter Bäume den Wald nicht gefunden .... -
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Danke dir. Ich habe mir das Script eingebaut und entsprechend angepasst.
Ich lasse es mal laufen und beobachte was bei einem erneuten DeviceReset vom Shelly passiert.
Den Tip mit dem Heraufsetzen vom DeviceReset-Wert habe ich mir in meiner Testumgebung mal nachgebaut. Eventuell hilft das auch noch.
Ist auf jeden Fall unschön wenn die Funktion so lange einwandfrei klappt und dann alle Auswertungen durcheinander kommen weil das Teil so rumzickt....Gruss
StefanSo, nun eine Woche gewartet und auf eine einwandfreie Funktion gehofft..... Nichts da, der Shelly macht wieder einen DeviceReset und der Zählerstand im Sourceanalytix geht durch die Decke..... langsam verzweifle ich daran..... Bei mir verdoppelt sich bei jedem DeviceReset der Wert.
Hier mal der Datenpunkt:{ "type": "state", "common": { "name": "Total consumed energy", "type": "number", "role": "value.power.consumption", "read": true, "write": false, "def": 0, "unit": "Wh", "custom": { "sourceanalytix.0": { "enabled": true, "alias": "Shelly_Total", "selectedPrice": "ElectricityDay", "selectedUnit": "Wh", "costs": true, "consumption": true, "meter_values": true, "start_day": 39268.0819, "start_week": 33514.5373, "start_month": 10911.303, "start_quarter": 5054.405, "start_year": 5054.405, "valueAtDeviceReset": 33525.9237, "valueAtDeviceInit": null, "cumulativeValue": 39268.0819, "deviceResetLogicEnabled": true, "threshold": 100000, "basicRate": false
Das neue Script hat auch alles mitgeloggt und hat jetzt auch falsche Werte drin......
Ich habe jetzt noch den Schwellenwert für einen DeviceReset auf 100000 hochgestellt.
Ich weiss echt nicht warum jede Woche mindestens ein Reset erkannt wird.
Bin ich der einzige mit so einem zickigen 3EM?Gruss Stefan
-
@stef1981
Setz die Schwelle Mal runter...
Hab sie glaube ich bei 0,001 und seitdem ist Ruhe. Meine Shellies stammen alle scheinbar aus einer sehr grenzwertigen Charge. Sortiere sie daher wo es geht aus. -
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Das neue Script hat auch alles mitgeloggt und hat jetzt auch falsche Werte drin......
wie kann das script falsch Werte haben, das addiert doch nur
-
Ich habe den Wert mal auf 0.001 angepasst. Mal schauen wie es sich verhält.
Es scheint als wäre der DeviceReset erst seit dem letzten Firmware-Upgrade auf dem Shelly, aber dafür schön regelmässig einmal die Woche.........Was hast du als Ersatz für den 3EM im Einsatz??
Gruss
Stefan -
@crunchip sagte in [SourceAnalytix 0.4.8-Final] Released !:
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Das neue Script hat auch alles mitgeloggt und hat jetzt auch falsche Werte drin......
wie kann das script falsch Werte haben, das addiert doch nur
Ja, das Script addiert nur, leider auf die falschen Werte die vom Shelly kommen.
Wenn der Shelly kurzzeitig den doppelten Wert liefert wird der natürlich auch so übernommen im Script.Allerdings sind die falschen Werte ja nur im Sourceanalytix, im Shelly selbst habe ich ja die richtigen Werte drin:
Aus dem Shelly:
Der Datenpunkt für Sourceanalytix:
{ "type": "state", "common": { "name": "Total consumed energy", "type": "number", "role": "value.power.consumption", "read": true, "write": false, "def": 0, "unit": "Wh", "custom": { "sourceanalytix.0": { "enabled": true, "alias": "Shelly_Total", "selectedPrice": "ElectricityDay", "selectedUnit": "Wh", "costs": true, "consumption": true, "meter_values": true, "start_day": 39284.0136, "start_week": 33514.5373, "start_month": 39277.5561, "start_quarter": 39277.5561, "start_year": 5054.405, "valueAtDeviceReset": 33525.9237, "valueAtDeviceInit": null, "cumulativeValue": 39284.0136, "deviceResetLogicEnabled": true, "threshold": 0.001, "basicRate": false
Und der Datenpunkt von Sourceanalytix:
Das heisst, der Wert innerhalb von Sourceanalytix hat sich während den letzten DeviceResets immer wieder verdoppelt, was ich aber nicht verstehe....
Hilft es eventuell wenn ich die DeviceReset-Funktion abschalte?
Bei mir wir der Wert bei einem DeviceReset verdoppelt und nicht auf 0 gesetzt....Gruss
Stefan -
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Wenn der Shelly kurzzeitig den doppelten Wert liefert wird der natürlich auch so übernommen im Script.
das tut er doch gar nicht, er setzt ich zurück auf null
was sich verdoppelt ist
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
der Wert innerhalb von Sourceanalytix hat sich während den letzten DeviceResets immer wieder verdoppelt
das ist das aktuelle Problem vom Adapter
-
@crunchip sagte in [SourceAnalytix 0.4.8-Final] Released !:
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Wenn der Shelly kurzzeitig den doppelten Wert liefert wird der natürlich auch so übernommen im Script.
das tut er doch gar nicht, er setzt ich zurück auf null
Dann verstehe ich aber die Sprünge in der Influx nicht:
Das sind genau die Zeitpunkte bei denen ein DeviceReset aufgezeichnet wurde.was sich verdoppelt ist
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
der Wert innerhalb von Sourceanalytix hat sich während den letzten DeviceResets immer wieder verdoppelt
das ist das aktuelle Problem vom Adapter
Oder verstehe ich hier etwas grundlegendes vom Adapter nicht?
Ich brüte da mal noch ein wenig herum und versuche das zu verstehen (nochmaliges Lesen der Anleitung vom Adapter), aber vermutlich sehe ich den Wald vor lauter Bäumen nicht, bzw. die richtigen Zahlen zwischen den vielen DevicesResets nicht mehr.....
Danke euch für die Unterstützung
Gruss
Stefan -
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Dann verstehe ich aber die Sprünge in der Influx nicht:
und welchen DP loggst du da?
-
@crunchip
Ich logge damit den Datenpunkt "Energie" mit dem Resultat aus dem Script welches du mir empfohlen hast.var energie; energie = getState("0_userdata.0.Energie.Zählerstand.Energie").val; on({id: [].concat(['shelly.0.SHEM-3#8CAAB56194DB#1.Total.ConsumedPower']), change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; energie = (typeof energie == 'number' ? energie : 0) + (parseFloat((obj.state ? obj.state.val : "")) - (obj.oldState ? obj.oldState.val : "")); setState("0_userdata.0.Energie.Zählerstand.Energie"/*Energie*/, energie, true); });
-
@stef1981 und das sollte auch zuverlässig funktionieren, wenn
nach Stromausfall oder shelly Update der Zähler wieder bei 0 beginntbei dir scheint dann wohl ein anderes Problem mit deinem shelly vorzuliegen
@stef1981 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Wenn der Shelly kurzzeitig den doppelten Wert liefert
hab ich so auch noch nie gehört
-
@crunchip
Dann werde ich das nochmals genau prüfen und einen solchen DeviceReset möglichst genau analysieren und auch auf dem Shelly selbst mitloggen.Danke für deine Hilfe und die wertvollen Inputs.
Gruss und einen guten Start in die kurze Woche
Stefan