NEWS
Daten aus Fronius Solarweb auslesen
-
Mit "drop Measurement" sollte man vorsichtig sein...
-
Nachdem ich mir irrtümlich ein paar Measurements aus InfluxDB gelöscht und wieder aufwändig aus der Datensicherung wiederhergestellt habe...
Ich rufe jetzt die Previous Daten um 2:01 und 12:01 ab.
Dann starte ich jeden Tag um 13:00 ein JavaScript, das mir die Previous Daten mit einem um einen Tag reduzierten Datum (mit 00:00 Uhr) in eigene InfluxDB-Datenpunkte schreibt:
JavaScript-Skript:
var date = new Date; // Aktuelles Datum date.setUTCHours(0, 0, 0, 0); // Um 00:00 Uhr var time = date.getTime()-86400000; // Einen Tag vorher var EnergyBattChargePreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyBattCharge").val; var EnergyBattChargeGridPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyBattChargeGrid").val; var EnergyBattDischargePreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyBattDischarge").val; var EnergyBattDischargeGridPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyBattDischargeGrid").val; var EnergyConsumptionTotalPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyConsumptionTotal").val; var EnergyDirectConsumptionPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyDirectConsumption").val; var EnergyFeedInPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyFeedIn").val; var EnergyProductionTotalPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyProductionTotal").val; var EnergyPurchasedPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergyPurchased").val; var EnergySelfConsumptionPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergySelfConsumption").val; var EnergySelfConsumptionTotalPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergySelfConsumptionTotal").val; var EnergySelfGenerationTotalPreviousDay = getState("0_userdata.0.Solarweb.Previous.01_Day.Energy.EnergySelfGenerationTotal").val; sendTo('influxdb.0', 'storeState', [ {id: 'FroniusEnergyBattChargeDay', state: {ts: time, val: EnergyBattChargePreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyBattChargeGridDay', state: {ts: time, val: EnergyBattChargeGridPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyBattDischargeDay', state: {ts: time, val: EnergyBattDischargePreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyBattDischargeGridDay', state: {ts: time, val: EnergyBattDischargeGridPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyConsumptionTotalDay', state: {ts: time, val: EnergyConsumptionTotalPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyDirectConsumptionDay', state: {ts: time, val: EnergyDirectConsumptionPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyFeedInDay', state: {ts: time, val: EnergyFeedInPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyProductionTotalDay', state: {ts: time, val: EnergyProductionTotalPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergyPurchasedDay', state: {ts: time, val: EnergyPurchasedPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergySelfConsumptionDay', state: {ts: time, val: EnergySelfConsumptionPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergySelfConsumptionTotalDay', state: {ts: time, val: EnergySelfConsumptionTotalPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}}, {id: 'FroniusEnergySelfGenerationTotalDay', state: {ts: time, val: EnergySelfGenerationTotalPreviousDay, ack: true, from: 'FroniusPreviousInDay', q: 0}} ], result => console.log('added'));
In den Measurements:
FroniusEnergyBattChargeDay
FroniusEnergyBattChargeGridDay
FroniusEnergyBattDischargeDay
FroniusEnergyBattDischargeGridDay
FroniusEnergyConsumptionTotalDay
FroniusEnergyDirectConsumptionDay
FroniusEnergyFeedInDay
FroniusEnergyProductionTotalDay
FroniusEnergyPurchasedDay
FroniusEnergySelfConsumptionDay
FroniusEnergySelfConsumptionTotalDay
FroniusEnergySelfGenerationTotalDayhabe ich dann die richtigen Messwerte pro Tag auch über Jahresgrenzen hinweg, ohne dass alte Werte verloren gehen.
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@Strobelix
Hast du in deinem script eine Versionsnummer einkommentiert? ich kann nichts erkennen, bzw. weiß ich gar nicht mehr, welche Version ich am laufen habe. Wie kann man das herausfinden?Btw, kann man damit auch die aktuelle Leistung und den aktuellen Verbrauch abrufen? Dazu habe ich keine DPs, ich mache das mit dem Froniusadapter. Wenn das mit deinem script funktioniert, könnte ich mir den Adapter sparen.
-
Wie ich gelesen habe, hast jetzt auch auf Influx umgestellt. Ich hab mir deinen View ausgeliehen und soweit auch auf Flux geändert.
In wie weit bist du hier mit der Sprache schon vertraut, da ich es nicht schaffe mit difference() zu arbeiten.
Habe von der EVN Sonnenstrom 1:1 und würde gerne Einspeisung - Bezug je Monat darstellen.
Kannst du hier vll bitte behilflich sein?
-
ja ich habe auf Influx 2x migriert, wollte aber meine dashboards nicht ändern, und bin daher bei InfluxQl geblieben.
Aber diese Berechnungen mache ich auch nicht selber, die macht doch schon das script. Ich verstehe jetzt nicht ganz, was du da zusätzlich berechnen möchtest.
Produktion - Einspeisung - Direkt Verbrauch - Stromverbrauch
==> wird alles vom script berechnet -
@massiveattack
Achja. stimmt.
Ich hab die ja auf Solarweb geändert weil ich die Scripte nicht benötige und somit erspart habe.Ich möchte ein Panel, in dem ich alle Monate des Jahres die Einspeisung abzüglich dem Verbrauch darstelle. Den mein Stromanbieter agiert bei meinem Vertrag als "virtueller Speicher".
Dies ist auch mit Flux möglich, aber ich bin einfach zu doof. -
Hat noch jemand das Problem dass die Wochenwerte Montags um 0:00 Ur nicht zurückgesetzt werden? Ist mir jetzt erst aufgefallen dass das nicht mehr funktioniert, für morgen stehen immer noch die Werte des letzte Sonntag drinne..?
Sollte eigentlich kein Reply werden...
-
@hen30
der Sonntag ist bei mir 0 -
@hen30
Das hatte ich schon mal, ich habe dann die Punkte/Objekte gelöscht und neu geladen, dann passte es wieder. -
@c1olli Was meinst du mit "neu geladen"? Legt das Script die dann automatisch neu an?
-
@hen30
Nach dem Löschen der Punkte einfach den Button für "Aktuelle_Wochentagwerte_abrufen" betätigen und die aktuellen Werte, bzw. 0 wird neu geladen. -
@c1olli Auch auf die Gefahr hin dass es peinlich wird... wo ist denn da ein Button?? Ich habe ja nur das Blockly und die Datenpunkte...?
-
@hen30 sagte in Daten aus Fronius Solarweb auslesen:
wo ist denn da ein Button?
... und die Datenpunkte...?
-
@glasfaser Ah, vielen Dank! Hat geklappt, mal schauen ob dann morgen die Werte genullt sind.
-
habt ihr aktuell auch Probleme mit solarweb?
Meldungen im iobroker:
warn javascript.0 (16840) script.js.Outdoor.PV: Solarweb Current Day konnte nicht abgefragt werdenund in der Web-Ansicht sieht es auch komisch aus:
-
kommt bei mir auch
-
@maximal1981 sagte in Daten aus Fronius Solarweb auslesen:
habt ihr aktuell auch Probleme mit solarweb?
Ja, die dürften sein 9 Uhr ein Problem haben.
-
@negalein
hatte ich gestern auch schon -
@massiveattack sagte in Daten aus Fronius Solarweb auslesen:
hatte ich gestern auch schon
ist bei mir erst seit heute
-
ich glaube es spinnt schon seit Sonntag rum bei mir.
aber dann bin ich beruhigt wenn ich nicht alleine bin