NEWS
Mit Blockly zwei Werte addieren und neu in DB schreiben
-
-
@goetschhofer sagte: deine Möglichkeiten für Logikfunktionen posten ?
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
Hacken alte Oberfläche gesetzt, da zeigt er diese wirklich an, aber schnell wieder zurück
Dann gehe auf Objektdaten
{ "type": "state", "common": { "name": "test", "role": "value", "type": "number", "read": true, "write": true,
positioniere den Cursor hinter "type": "number",
Enter und Eingabe von"unit": "W",
-
-
-
@goetschhofer hattest du ein update gemacht beim Adapter?
-
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
consumed: Mir fehlt hier die current week from Monday to Sunday
Du bist im falschen Ordner
CurrentYear wäre der richtige -
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
Für die Zukunft weiß ich, dass dies JS selbständig macht, war ja auch bei allen anderen Skripts so.
Selbständig legt Javascript keine Datenpunkte an, das macht eine Funktion in diesem Blockly
Zeitplan:
Ich habe schon einen Zeitplan, alle 2 Sekunden.Ist das denn überhaupt im 2 Sekunden Takt nötig ? Wie oft ändern sich denn die Daten, also auch z.B. Nachts ? Von wo (Adapter oder Script) und wie oft kommen denn Daten in 170 oder 270 ?
Das Blockly aktualisiert/rechnet ja nur bei diesen drei Datenpunkten.Deshalb mein Vorschlag mit einen Trigger auf die zwei Datenpunkte. Hier wird das Blockly nur ausgeführt wenn sich der Wert im DP 170 oder 270 ändert. Dein Zeitplan aktualisiert alle 2 Sekunden, auch wenn sich nichts geändert hat.
Dein neues Skript ist natürlich für mich "high level" !
Aber dient mir vom Ablauf und Logik als Vorlage für weitere blocklies.Ich habe das/die Blockly nochmal etwas verändert.
Blockly_Export_Zeitplan_2_Sekunden.zip
oder
Blockly_Export_Trigger_wurde_geaendert.zip
PS:
Die Einheiten (unit) sowie andere Werte erstellt das Blockly in der FunktionDatenpunkte_anlegen
gleich mit. -
@crunchip said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@goetschhofer hattest du ein update gemacht beim Adapter?
Ja, ich denke dies war schon vor ca. 4 - 5 Wochen.
Ich weiß jetzt ehrlich nicht mehr, in welchem Zusammenhang.
Hätte ich beim update des iobroker etwas beachten sollen ?
-
@crunchip said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
consumed: Mir fehlt hier die current week from Monday to Sunday
Du bist im falschen Ordner
CurrentYear wäre der richtigeSorry, hier habe ich geschlafen.
-
@dslraser said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
Sorry, hat etwas gedauert.
Zeitplan:
Ich habe schon einen Zeitplan, alle 2 Sekunden.Ist das denn überhaupt im 2 Sekunden Takt nötig ? Wie oft ändern sich denn die Daten, also auch z.B. Nachts ? Von wo (Adapter oder Script) und wie oft kommen denn Daten in 170 oder 270 ?
Das Blockly aktualisiert/rechnet ja nur bei diesen drei Datenpunkten.Ich brauche eigentlich aus dem AMIS-Reader nur die 5 gelb markierten Werte.
Die restlichen Werte betreffen die Scheinleistung, da ich auf Netztebene 7 (nicht gemessen bin=Haushalt) wird vom EVU keine Scheinleistung verrechnet. Wird nur in Netzebenen 1 - 6 verrechnet (Industrie, Gewerbe), aber trotzdem stellt der EVU-Smartmeter diese Werte dar.Der Infrarotkopf-AMIS-Reader liest den EVU-Smartmeter sekündlich aus, die Werte übertrage ich über MQTT alle 2 Sekunden an den iobroker.
Bezugs- und Einspeisewerte in W ändern sich bei Bezug und Einspeisung sekündlich, zumindest am Tag von 6 h bis ca. 20 h. In der Nacht natürlich nur die Bezugswerte, Einspeisung ist in der Nacht natürlich null.
Extreme Lastsprünge gibt es bei sehr volatiler Einstrahlung oder wenn der Küchenherd aktiv ist (binnen 2 Sekunden für 10 Sek. auf 2000 W, anschließend binnen 2 Sekunden für ca. 10 Sek. fast null), etc.
Da ich den PV-Überschuss (5,76 kWp-PV-Anlage) über einen Leistungssteller über einen 5 kW Heizstab in den Warmwasserspeicher verarbeite und der Leistungssteller auf -20 W eingestellt ist, sieht man hier sehr schön, wie rasch sich die Werte ändern.
Deshalb mein Vorschlag mit einen Trigger auf die zwei Datenpunkte. Hier wird das Blockly nur ausgeführt wenn sich der Wert im DP 170 oder 270 ändert. Dein Zeitplan aktualisiert alle 2 Sekunden, auch wenn sich nichts geändert hat.
Dein neues Skript ist natürlich für mich "high level" !
Aber dient mir vom Ablauf und Logik als Vorlage für weitere blocklies.Ich habe das/die Blockly nochmal etwas verändert.
Blockly_Export_Zeitplan_2_Sekunden.zip
oder
Von den 5 benötigten Werten ändern sich mindestens 3 immer. Z. B. 1.7.0 Bezug-Leistung-W sowie Saldo aus 1.7.0-Bezug u. 2.7.0-W und Kumulierter Zählerstand-kWh.
Die Frage ist, ob es sinnvoll ist, hier die restlichen 3 Werte nicht mitzuschreiben ?
Geht eigentlich in einem Aufwaschen.
Vielen Dank für deine Mühe.
-
@goetschhofer
Okay, dann lasse es bei den zwei Sekunden. Welche Daten Du brauchst und schreiben willst kannst Du nur selbst entscheiden. -
@rudolfn sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@guergen
Hallo habe es versucht, das Skript läuft, aber es schreibt mir keine Summe in die Variable (habe schon versucht, nach wert zu konvertieren und die Variable mit Value und state, es schreibt die Summe nicht rein:-o)
LgKlappt bei Dir nun eigentlich ?
-
Ich bekomme die Tageswerte in Grafana nicht angezeigt, obwohl in den Objekten für SA aktiviert.
Fehlermeldung: no data
-
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
obwohl in den Objekten für SA aktiviert.
Unit angegeben oder auf automatisch?
-
@crunchip said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
obwohl in den Objekten für SA aktiviert.
Unit angegeben oder auf automatisch?
Bei den Einstellungen, oben im letzten post, habe ich ich automatisch gewählt.
-
@goetschhofer das meinte ich nicht, sondern bei Influx. Da du mit Zahlen arbeitest muss der Typ Number gewählt werden. Wenn man es auf Automatik stehen lässt kann es sein, das es als string erkannt wird, wodurch dir dann in Grafana NoData angezeigt wird.
-
@crunchip said in Mit Blockly zwei Werte addieren und neu in DB schreiben:
@goetschhofer das meinte ich nicht, sondern bei Influx. Da du mit Zahlen arbeitest muss der Typ Number gewählt werden. Wenn man es auf Automatik stehen lässt kann es sein, das es als string erkannt wird, wodurch dir dann in Grafana NoData angezeigt wird.
Jetzt habe ich dies geändert und nochmals in Influxdb und SA kontrolliert, neu verknüpft in Grafana, aber trotzdem no data.
-
@dslraser und @guergen
Danke meine lieben Freunde, ich habe es gestern noch geschafft, das Skript läuft und die addierten Werte werden in der VIS angezeigt.
Was letztlich der Ausschlag war weiß ich nicht ganz, denn ich habe einerseits den Datenpunkt neu angelegt und den Haken im JS rausgetan und alles nochmal "geupdatet", egal, jetzt läufts, danke für Eure Hilfe (ich brauch sicher bald wieder was, schön dass es dieses Forum mit so netten "HelferInnen" gibt).
lgRudolf
-
@goetschhofer Ich habe jetzt versucht, die NAchrichten der letzten paar Stunden nachzuverfolgen, aber ich denke, wenn du die DP mit dem Pfeil in SA einfügst, wird dir doch genau das ausgerechnet und angezeigt, was du möchtest. Zumal ich immer noch im Kopf habe, dass SA für die Arbeit (kWh) und nicht für die Leistung (W) da sei:
Du bekommst nach dem Tageswechsel alles angezeigt; Heute, Gestern, die einzelnen Tage der Woche, sowie die entsprechenden Kosten wenn Du möchtest!
So sieht das dann bei mir aus: -
@goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:
aber trotzdem no data.
das liegt daran, das der DP schon falsch in Influx liegt, ein nachträgliches ändern funktioniert da nicht. Du musst diesen zuerst aus deiner Influx löschen, danach kannst du ihn erst wieder anlegen.
- Einstellung influxdb wieder deaktivieren
- danach auf deine influx shell gehen
influx Datenbank aufrufen use iobroker Messserien anzeigen show series löschen der falsch angelegten Serie DROP SERIES FROM "der falsche Datenpunkt" exit exit
danach kannst du deinen Datenpunkt für Influx wieder aktivieren(Typ Number)