NEWS
Lampe steuern, je nach PV Überschuss
-
Hi,
ich versuche gerade über ein Blockly eine LED zu steuern und das abhängig von meinem PV Überschuss.
Ich würde gerne die LED ganz leicht leuchten lassen, wenn ich 20W Überschuss habe, und wenn ich zb. über 100W Überschuss habe, dann sollte die LED sehr stark leuchten.Ich habe es mit folgendem Blockly getestet, was allerdings nicht funktioniert.
Aktueller Verbrauch ist mein momentaner Gesamtverbrauch.
Dort würde ich einfach 20W bzw. 100W drauf rechnen, damit ich den Überschuss habe.
Power ist meine PV.
Ist der Wert aktueller Verbrauch + 20 kleiner als PV (dann habe ich einen Überschuss) dann sollte die LED mit Brightness 20 angehen. -> das funktioniert auch.
Ist der Wert aktueller Verbrauch + 100 kleiner als PV (auch hier ist ein Überschuss vorhanden) dann sollte die LED mti Brightness 100 angehen. Das funktioniert nicht, da der erste Wert von 20 Überschuss schon greift.Und ausgehen tut die LED auch, wenn kein Überschuss vorhanden ist.
Mir geht es nur darum, wie ich es zustande bringe, dass abhängig von viel oder wenig Überschuss die LED anders leuchtet.
Danke
-
@wusa
In Deinem Screenshot fehlt ein nicht unwichtiger Teil: Worauf triggerst Du? -
Ja das stimmt. Ich triggere auf meinen Datenpunkt vom Stromverbrauch. Wenn sich dieser ändert, dann kommt der o.g. Block. Und der Stromverbrauch wird alle 30 Sekunden abgefragt.
Also der Trigger läuft alle 30 Sekunden -
@wusa du musst die Logik umdrehen.. nicht von klein auf gross abfragen.. sondern
von gross auf klein...
also ist aus mehr als 100 dann 100
erst dann ist es mehr als 60 dann 60
ist es mehr als 10 dann 10 -
Ich bin echt kein Programmierprofi, lasse mir auf der VIS aber auch den momentanen Verbrauch anzeigen.
Nun sehe ich, dass da -20W steht. Okay , könnte man die Lampe einschalten lassen.
Nun kommt das aber (oder vielleicht auch mein Denkfehler).
Was wenn der Kühlschrank anspringt und aufmal da +20W stehen?
Da hat die Lampe für ne Sekunde geleuchtet.
Kommt vermutlich auch auf den Abfrageintervall des Smartmeters an.
Allerdings haste dann ja nicht den "aktuellen" Wert wenn du die Abfrage auf z.B. alle 3min stellst.
Also in meiner Einschätzung wird das nicht klappen, ausser das die Lampe an aus an aus gehen wird im Sekundentakt weil der Strombezug sich permanent (Kühlschrank, Spülmaschine, Waschmaschine andere Geräte mit Stromanschluss) ändert.
Aber da gibt es bestimmt Scriptprofis, die mich eines besseren belehren -
-
Danke für das Skript, aber das muss ich mir mal genau ansehen. Aktuell verstehe ich es noch nicht.
Ich denk aber, dass es so bei mir nicht ganz funktionieren wird, da ich glaube ich noch die Farbtemperatur einbauen will. Wenn kaum Überschuss, dann eine andere Farbtemperatur also bei viel Überschuss. Das muss ich mir aber noch genau überlegen.
Edit: Ich glaube ich habe verstanden, was du machst.
Du kannst ganz genau die Brightness schalten zwischen 5 und 100. So genau brauche ich es aber nicht. Mir reicht, wenn ich weiß ob "etwas" Überschuss habe, oder bei 100W weiß ich ich habe mehr Überschuss. So viele Abstufungen brauche ich nicht.@arteck
Danke, manchmal kann es so einfach sein. Jetzt habe ich noch das Problem, dass ich abfrage, ob der Wert auf false steht. Wenn bereits Überschuss da ist, dann wechselt er nicht die Brightness, da der Wert nicht "false" ist.
Das versuche ich noch zu umgehen.@haselchen
Aktuell ist es so, ja, dass es blöd gesagt, einmal aus und dann wieder an geht.
Das versuche ich aber noch zu lösen.Edit:
Ich habe mir jetzt so beholfen:
Wenn bereits Überschuss da ist, dann wechselt er nicht die Brightness, da der Wert nicht "false" ist.
Ich muss jetzt nicht mehr einschalten, wenn die LED bereits an ist. Dann wechsle ich nur noch die Brightness und Farbtemperatur.
-
@wusa
Wenn Du bereits auf den Stromverbrauch triggerst, ist es unsinnig diesen Wert (ggf. 3x) erneut einzulesen.
Nimm aus dem Bereich "Trigger" den Block "Objekt ID". Das kannst Du dann ändern in "Wert".
Der Trigger kennt seinen Wert ja schließlich bereits (siehe das Beispiel von @paul53)P.S.:
Auch mit dem DP "SwitchState" kann man eleganter umgehen, indem man den zu Beginn in eine Variable einliest und dann mit "nicht" arbeitet.
-
Ich triggere auf meinen Smartmeter Stromverbrauch.
Das ist aber ein anderer Stromverbrauch als der errechnete aus dem Smartmeter und meiner PV.
Da Summiere ich, damit ich den tatsächlichen Verbrauch errechnen kann.Edit: deine editierte Antwort könnte ich durchaus umsetzen. Habe ich nur jetzt erst gesehen.
-
@wusa
Aber auch das muss man nur 1x machen.
Nutze die Macht der Variablen!