NEWS
Blockly Hilfe, PV-Leistung
-
das stimmt IMHO doch nicht.
Hier wird der Punkt doch angesprochen `
Du hast natürlich recht.Aber diese Antwort hatte ich eigentlich von Steffi81 erwartet.
Grüße
-
:oops: Tschuldigung :oops:
ich bin doch auch froh, wenn ich mich laaaangsam in js zurechtfinde
kommt nicht wieder vor 8-)
Gruß
Rainer
-
Morgen
Also, angeschaut habe ich mir das schon, nur bin ich jetzt nicht so der Brockly/Skript Experte. Wenn dem so wäre hätte ich dies Skript Lösung ja alleine hin bekommen
Da ich nun kein Experte bin, wollte ich nicht, wenn sich schon jemand für mich die Mühe macht, diese Arbeit gleich bemängeln oder mit falschen Lösungen um mich werfen. Deswegen habe ich erstmal nur die Ergebnisse des Skriptes mitgeteilt.
Das Wert PV_VorTag angesprochen wird, hab ich schon gesehen. Darum war ja die Frage, warum sich der Wert nicht ändert. Aber dann hieß es ja, dass die Variable nicht angesprochen wurde und versehentlich mit gepostet wurde, was ja nicht schlimm ist.
Das der Wert weiter 0 ist, wundert mich auch nicht, weil PV_Gesamt und PV_VorGesamt, den selben Wert haben.
Gehe jetzt mal davon aus, dass einer der beiden ausgewählten Variablen nicht die richtige ist, oder das PV_VorGesamt mit einem falschen Wert gefüllt/berechnet wird. Seh ich das so richtig?
Mfg
-
-
Nur der Schnippsel von Dir ist ein Teil aus dem Blockly-Export. Der hat nichts mit js zutun. `
Das weiß ich doch, aber ich wollte keinen Screenshot-Schnipsel posten.Mir ging es hier um das nachvollziehen der Logik.
Gruß
Rainer
-
Gehe jetzt mal davon aus, dass einer der beiden ausgewählten Variablen nicht die richtige ist, oder das PV_VorGesamt mit einem falschen Wert gefüllt/berechnet wird. Seh ich das so richtig? `
Laut Script läuft das schon richtig.Der ganze innere Teil wird erst ausgeführt wenn PV_VorGesamt > 0 ist.
Das ist spätestens beim 2. Tag der Fall.
Ein Teil Deiner Variablen wird ja auch befüllt.
Irgend etwas stimmt nicht mit den Variablen.
Bekommt Du im Log Fehler angezeigt?
Ändere doch bitte mal den Typ der Variablen.
Wenn die über Blockly erstellt werden haben Variablen immer den Typ "gemischt"
Einfach unter Objekte die Variablen auswählen und den Bleistift anklicken.
Dort änderst Du dann "gemischt" auf "Zahl".
Dann schreibst Du überall da wo "null" steht eine 0 rein.
Dann die Blöcke mit denen die Variablen erstellt werden löschen oder deaktivieren.
Und dann wieder abwarten
Grüße
-
so, die Änderungen habe ich gemacht. Die Blöcke, die die Variablen schreiben, habe ich gelöscht.
Im Log steht nix, allerdings wird der Log auch nicht bis 0 Uhr zurück angezeigt, sondern nur für nen paar Stunden. Da steht dann aber nichts von dem Skript drin. Wird das noch wo anders länger fristig gespeichert, das ich das mal nach schauen kann?
mfg
-
-
wenn ich das unter putty eingebe kommt:
-bash: /opt/iobroker/log: Ist ein Verzeichnis
-
Wird das noch wo anders länger fristig gespeichert, das ich das mal nach schauen kann? `
im Ordner iobroker\log stehen die letzten Tage. -
Habe jetzt mal, zum testen, die Zeit auf jede Minute geändert. Da tut sich was, PV_VorTag bekommt jetzt einen Wert, der sich auch wieder neu ändert.
Ändere das jetzt zurück, auf die vorherige Zeit und warte ab. Werd ich dann ja heute Nacht sehen, was passiert.
Mfg
-
kann ich denn noch anders an den Log Ordner ran?
Schon mal sorry, dass ich so doof frage :oops:
mfg
-
Versuch mal das freeware Programm WinSCP
-
dann mach doch mal:
cd /opt/iobroker/log dir
Dann kopierst du dir den Namen des letzten Tageslogs und gibst ein
sudo nano TagesLog
wobei TagesLog der Dateiname ist.
Anderer Weg wäre über filezilla/winscp.
Gruß
Rainer
-
Ok, werd das mal versuchen, kann nur etwas dauern.
Mfg
-
Hi,
ich würde anstelle nano eher z.b. so in das log schauen:
cat iobroker.2017-11-12.log |grep java
das "java" am Ende ersetzt du durch das was du suchen willst.
Wenn du "java" nimmst kommt alles mit "javascript" raus.
Macht es vielleicht etwas übersichtlicher auf der Konsole.
Anstelle von WinSCP nutze ich immer Filezilla.
Gruß
Mirko
-
Nabend
So, leider wieder das gleiche wie die letzten Tage. Keine Änderung. Habe mal nen Auszug aus dem Log angefügt, hoffe ist das richtige. Denke das vom Javascript ist das richtige. Zwischen 00:00 Uhr und 00:30 Uhr gibt es keinen keinen Eintrag. Habe auch die anderen Tage mal durch geschaut, da steht nirgends etwas, was auf das besagt Skript hinweißt. Da steht immer nur die LowBat Ausgabe und mein Tinten Status meines Druckers.
-
Mal ne Frage, wo soll denn der log-Eintrag aus dem Script herkommen, da steht doch gar nichts von loggen. Möglicherweise würde eine Umstellung auf "debug" diese Infos bringen, hat das schon einer irgendwo eingestellt?
Kann es sein, dass die Ausführungen in der falls-Klammer so zeitnah erfolgen, dass die Einträge PV_VorTag und PV-VorGesamt zeitgleich geschrieben werden? Wie ist denn die Ausführung genau, ich habe eine ähnliches Script und habe eine Verzögerung von wenigen hundert Millisekunden um sicher zu gehen, dass da nichts gleichzeitig geschrieben wird. :?:
Enrico
-
Mal ne Frage, wo soll denn der log-Eintrag aus dem Script herkommen, da steht doch gar nichts von loggen. Möglicherweise würde eine Umstellung auf "debug" diese Infos bringen, hat das schon einer irgendwo eingestellt? `
Es sollte geprüft werden, ob Systemfehler vorliegen, falsche Variablen Type usw.Kann es sein, dass die Ausführungen in der falls-Klammer so zeitnah erfolgen, dass die Einträge PV_VorTag und PV-VorGesamt zeitgleich geschrieben werden? Wie ist denn die Ausführung genau, ich habe eine ähnliches Script und habe eine Verzögerung von wenigen hundert Millisekunden um sicher zu gehen, dass da nichts gleichzeitig geschrieben wird. :?: `
Das wäre auch noch eine Möglichkeit.
Zumal der Test von Steffi81 am Tag ja funktioniert hatte.
Könnte sein, dass sein ioBroker um 00:01 Uhr mit diversen anderen Sachen beschäftigt ist.
Man könnte es auch mal um 00:05 Uhr versuchen.
Das mit den Verzögerungen ist so eine Sache.
1. "Steuere ID01 mit 5 Verzögerung 10 Sek"
2. "Steuere ID02 mit Wert von ID01 + 100"
Die Verzögerung bei 1. unterbricht NICHT das Programm.
Es wird also zuerst Zeile 2. ausgeführt und 10 Sek. später Zeile 1.
Wenn wir bei Programmstart davon ausgehen, dass ID01 = 0 ist.
Wird ID02 nie den Wert 105 bekommen.
Grüße
-
Guten Morgen
Habe Enricos Idee mal versucht in den Skript umzusetzten und etwas abgeändert.. Den Bezugspunkt für den Gesamtwert habe ich aber geändert, der Wert ändert sich schneller als mein PV
Durch die Verzögerung ändert sich tatsächlich der Wert von VorTag. Wäre das mit der Zeitverzögerung an der richtigen Stelle, oder war das eher Zufall, dass das geklappt hat? Hatte da ja letztens schon was ausprobiert, klappt ja auch erst, dann nicht mehr.
Habe da mal nen paar Screenshots beigepackt.