Hi ak68,
hab deine pn gestern gelesen bin aber noch nicht zum antworten gekommen. Kannst du mir nochmal genau schreiben was nicht passt? Verstehe es nicht ganz. Grundsätzlich liefert awattar ab 14:00 die neuen Preise bis zum nächsten Tag 23:59
wenn du also am nächsten Tag um 10:00 Uhr anrufst bekommst du nur die Preise von 10:00 bis 23:59.
lg Mandi (nullo83)
Ankündigung
Einklappen
Keine Ankündigung bisher.
Visu: Start- Endzeit eingabe
Einklappen
X
-
Hallo zusammen,
ich habe mit dem LBS von nullo83 folgendes Problem:
Die Abfrage der Preise ist korrekt, jedoch liegen die 34 JSON-Elemente nur um 14 Uhr an, danach sind die Elemente nicht mehr vorhanden also z.B. um 0 Uhr die Ausgänge 24-34 ?. Das bedeutet, dass die Ausgänge dann NICHT neu beschrieben werden, also die jeweils letzten Werte stehen bleiben.
Wie kann man den LBS ändern, so dass in diesen Fällen die Ausgänge der nicht-vorhandenen Array-Elemente auf "LEER" gesetzt werden ?
Vielen Dank !
Code:###[DEF]### [name = aWattar hourly (0.1) ] [e#1 TRIGGER = Trigger ] [e#2 OPTION = Token ] [e#3 OPTION = Startzeit ] [e#4 OPTION = Endzeit ] [e#5 OPTION = API ] [e#6 OPTION = LogLevel #init=0 ] [a#1 = preisObjekt ] [a#2 = marktpreis1 ] [a#3 = marktpreis2 ] [a#4 = marktpreis3 ] [a#5 = marktpreis4 ] [a#6 = marktpreis5 ] [a#7 = marktpreis6 ] [a#8 = marktpreis7 ] [a#9 = marktpreis8 ] [a#10 = marktpreis9 ] [a#11 = marktpreis10 ] [a#12 = marktpreis11 ] [a#13 = marktpreis12 ] [a#14 = marktpreis13 ] [a#15 = marktpreis14 ] [a#16 = marktpreis15 ] [a#17 = marktpreis16 ] [a#18 = marktpreis17 ] [a#19 = marktpreis18 ] [a#20 = marktpreis19 ] [a#21 = marktpreis20 ] [a#22 = marktpreis21 ] [a#23 = marktpreis22 ] [a#24 = marktpreis23 ] [a#25 = marktpreis24 ] [a#26 = marktpreis25 ] [a#27 = marktpreis26 ] [a#28 = marktpreis27 ] [a#29 = marktpreis28 ] [a#30 = marktpreis29 ] [a#31 = marktpreis30 ] [a#32 = marktpreis31 ] [a#33 = marktpreis32 ] [a#34 = marktpreis33 ] [a#35 = marktpreis34 ] ###[/DEF]### ###[HELP]### Der Baustein fragt die stündlichen Strompreise bei aWattar ab. Dazu wird ein Token benötigt, den man bei Anmeldung des Tarifes bekommt. Optional kann man die Start- und Endzeit angeben um die Daten für einen bestimmten Zeitraum abzufragen. Die Zeiten müssen ein UNIX-Timestamp in Mikrosekunden sein. Werden keine Zeiten angegeben wird die Endzeit auf in 36h gesetzt. Die API von aWattar liefert pro Stunde einen Preis in €/MWh zurück, dieser wird vom LBS in cent/kWh umgerechnet. Es gibt insgesamt max 35 Ausgänge (d.h. man erhält max. die ersten 34 Werte der Abfrage). Die aWattar-API liefert täglich um 14:00 Uhr die neuen Strompreise des nächsten Tages (Tag 1 14:00 -> Tag 2 24:00 = 34h -> daher die 34 Ausgänge). Will man zb. alle Werte vom Oktober 2019 abfragen, so muss der LBS dementsprechend oft mit geänderten Start- und Endzeit abgerufen werden. <hr /> E1: Trigger E2: Token von aWattar E3: Abfragezeitraum von (TS in Mikrosekunden) -> optional E4: Abfragezeitraum bis (TS in Mikrosekunden) -> optional E5: API-URL E6: Debuglevel A1-A34: Marktpreise in cent/kWh <hr /> <b><u>Changelog:</u></b> 0.1:<ul> <li>initiale Version</li> </ul> <hr/> Wer sich irgendwie erkenntlich zeigen möchte, kann das bei der Anmeldung bei aWattar machen indem er folgenden Code angibt: 3FZDSALNV <hr/> ###[/HELP]### ###[LBS]### <? function LB_LBSID($id) { if ($E=logic_getInputs($id)) { if (($E[1]['refresh'] && $E[1]['value']!="")) { LB_LBSID_debug($id,"LBS triggerd",7); //if ($E[2]['value']="") { logic_callExec(LBSID,$id); //} else { //LB_LBSID_debug($id,"Token ist Pflicht",0); //} } } } function LB_LBSID_debug($id,$s,$l) { $a=array("Emergency","Alert","Critical","Error","W arning","Notice","Informational","Debug"); $E=logic_getInputs($id); $DEBUG=$E[6]['value']; $l<$DEBUG && writeToCustomLog("LBSLBSID",$l,"(ID$id) ".$a[$l].": ".$s); } ?> ###[/LBS]### ###[EXEC]### <? require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php"); //set_time_limit(60); sql_connect(); $E=logic_getInputs($id); $token=$E[2]['value']; LB_LBSID_debugExec($id,"Token gesetzt (".$token."), starte EXEC-Teil",7); $startTS=$E[3]['value']; LB_LBSID_debugExec($id,"StartTS gesetzt (".$startTS.")",7); $endTS=$E[4]['value']; LB_LBSID_debugExec($id,"EndTS gesetzt (".$endTS.")",7); $url = $E[5]['value'];//"https://api.awattar.com/v1/marketdata"; if($endTS == ""){ $endTS = number_format((microtime(true)*1000)+133200000,0,' .',''); //aktuelle Uhrzeit + max 36 h LB_LBSID_debugExec($id,"EndTS (".$endTS.")",7); } if($startTS == ""){ $startTS = number_format((microtime(true)*1000),0,'.',''); $url = $url."?start=".$startTS."&end=".$endTS; LB_LBSID_debugExec($id,"StartTS gesetzt (".$startTS.")",7); }else{ $url = $url."?start=".$startTS."&end=".$endTS; } LB_LBSID_debugExec($id,"URL: (".$url.")",7); $ch = curl_init(); if($token!=""){ $authorization = "Authorization: Bearer ".$token; curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization )); }else{ curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' )); } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $head = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_RESPONSE_CODE); curl_close($ch); if(($head!="")){ LB_LBSID_debugExec($id,"Statusantwort von aWattar (".$httpCode.")",7); $obj = json_decode($head); LB_LBSID_debugExec($id,"Antwort von aWattar: ".$head,7); $timeData = $obj->data; logic_setOutput($id,1,json_encode($timeData)); LB_LBSID_debugExec($id,"Ausgang 1: ".json_encode($timeData),7); $i = 2; foreach ($timeData as $timeslot) { LB_LBSID_debugExec($id,"Ausgang ".$i.": ".$timeslot->marketprice/10,7); logic_setOutput($id,$i,$timeslot->marketprice/10); $i++; } }else{ LB_LBSID_debugExec($id,"Keine Antwort vom awattar-Server erhalten ".$httpCode." | ".$head,5); } LB_LBSID_debugExec($id,"Ende ",7); sql_disconnect(); function LB_LBSID_debugExec($id,$s,$l) { $a=array("Emergency","Alert","Critical","Error","W arning","Notice","Informational","Debug"); $E=logic_getInputs($id); $DEBUG=$E[6]['value']; $l<$DEBUG && writeToCustomLog("LBSLBSID",$l,"(ID$id) ".$a[$l].": ".$s); } ?> ###[/EXEC]###
Einen Kommentar schreiben:
-
Hallo Roland, schick dir eine PN. ich hab momentan das problem, dass ich die daten nicht abrufen kann, ich bekomme keine verbindung zu awattar. Hab das seit ich auf Edomi 2 upgedated habe....
Einen Kommentar schreiben:
-
Finde den LBS nicht in der DB. Könntest du ihn mir schicken?
Einen Kommentar schreiben:
-
Hi Andi,
die beiden LBS sind fertig und haben auch schon 4 user eine zeit lang im einsatz. Werde sie im laufe der kommenden woche zum download freigeben.
Mittlerweile sowohl für DE als auch AT geeignet
Lg
Einen Kommentar schreiben:
-
gibt es hier schon was neues? Ich bin grad auch am überlegen zu AWATTAR zu wechseln und suche genau so einen LBS...Zitat von nullo83 Beitrag anzeigenhab mittlerweile einen LBS gemacht der die Strompreise einliest und einen zweiten, der mit eben aus der Start, der Endzeit und ev Dauer den besten Zeitpunkt für den Verbraucher ermittelt.
Einen Kommentar schreiben:
-
Also wenn jeden Tag ein Zeitfenster gibt wo man Geld bekommt, dann lohnt ja bald der Batteriespeicher ohne PV-AnlageZitat von givemeone Beitrag anzeigenund der Wetterbericht für den nächsten Tag schlecht aussieht, meinen Batteriespeicher mit dem günstigeren Nachtstrom füllen, oder?
Aber da bei uns mit 3 Kindern so gut wie jeden Tag die Waschmaschine läuft, würde ich das mit meiner Frau nicht hinbekommen das die Maschine nur 1x in der Nacht läuft.
Aber auch ich finde es einen interessanten ansatz.
Das muss eigentlich klappen wenn du dieses so einstellst. Wenn du die iKo aber neu angelegt hast, dann musst du das Projekt auch neu aktivieren.Zitat von nullo83 Beitrag anzeigenich hab eigentlich schon alles durchgespielt KO1, KO2
Es reicht nicht nur die Visu neu zu aktivieren.
Einen Kommentar schreiben:
-
Im Feld "Beschriftung" fehltZitat von nullo83 Beitrag anzeigenvielleicht nochmal kurz zurück zum eigentlichen problem der anzeige.
Nur dann wird der Wert aus KO1 (Status) im Visuelement angezeigt, vorausgesetzt, die Farben passen...Code:{#}
Einen Kommentar schreiben:
-
Alternativ könntest Du die Zeiten auch mit diesem LBS in eine Zeitschaltuhr übernehmen:
LBS19000608
Einen Kommentar schreiben:
-
Zur Ausgangsfrage:
Es gibt ein Visuelement Tastatureingabe, das nutze ich um bestimmte Vorgaben über die Visu zu machen. Dort bleiben die Werte sichtbar in den Feldern stehen und können jederzeit editiert werden. Vielleicht geht das in die gesuchte Richtung.
Angehängte Dateien
Einen Kommentar schreiben:
-
vielleicht nochmal kurz zurück zum eigentlichen problem der anzeige. ich hab jetzt einen drehregler genommen, aber er zeigt mir den wert den ich einstelle nur für die dauer der eingestellten haltezeit an. das KO2 wird nicht gesetzt... was mache ich falsch?
ich hab eigentlich schon alles durchgespielt KO1, KO2 gleich, unterschiedlich, nur KO1, nur KO2 usw...
Angehängte Dateien
Einen Kommentar schreiben:
-
Erinnert mich an die Zeiten, zu denen ich noch kein DSL hatte. Online über ISDN, je nach Uhrzeit ein anderer Anbieter, Preise zwischen 0,01 und 10ct pro Minute... War ich froh als diese Zeit rum war. Dann hielt auch ne Flat zum bezahlbaren Preis Einzug.Zitat von beauty Beitrag anzeigenAber ehrlich gesagt wäre mir das zu aufwändig und stressig mich und mein Tagsablauf nach dem Strompreis richten zu müssen.
Ne Stromflat. 40€ und Strom bis zum abwinken.
Einen Kommentar schreiben:
-
Ich könnte doch dann auch in der Nacht, wenn ich sogar einen Minusbetrag auf den Stromtarif bekomme, und der Wetterbericht für den nächsten Tag schlecht aussieht, meinen Batteriespeicher mit dem günstigeren Nachtstrom füllen, oder?
Einen Kommentar schreiben:
-
Schicks mir doch mal vorab per pn, dann kann ich mit testen!Zitat von nullo83 Beitrag anzeigen
ja klar, sobald ich mit dem testen durch bin und ich für die LBS entwicklung freigeschaltet wurde stell ich den rein. sag dir bescheid sobald online
Einen Kommentar schreiben:


Einen Kommentar schreiben: