NEWS
[gelöst] Ausführung trotz Triggern Zeitplan
-
Hallo,
ich hoffe es kann sich einer einen Teil meines Blockys ansehen, ich finde den Fehler leider nicht, bin aber auch noch ganz frisch im Thema Blockly.
Es geht um die log Ausgabe innerhalb des Zeitplans.
Obwohl der Zeitplan zw 16:00 und 20:59 eingestellt wurde, werden mir morgens um ab 6:11 Log Ausgaben angezeigt und die dann auch noch im millisec Bereich obwohl im Zeitplan minütlich steht.Zum Testen, ob es wirklich an dem log liegt, habe ich den jetzt deaktiviert, seit dem kommt keine Ausgabe mehr.
Wäre Toll, wenn mir da einer was zu sagen könnte.
Danke schonmal
-
@woupi Keine Trigger in Trigger - das geht nicht.
Dann mal so probieren:
Nur mal so zum Testen da in diesem Beispiel die Liste den Neustart des Skriptes nicht überlebt
-
@djmarc75
Ok, danke, werde ich gleich mal probieren.
VG
Sascha -
@woupi hier nochmals das Skript mit einem eigenen Datenpunkt (Liste):
-
@woupi texte als solche in code-tags posten!
nich als Screenshot -
@homoran
Ich gehe davon aus, dass du die logs meinst,
werde versuchen mich dran zu halten, ist ja eigentlich auch einfacher. -
@djmarc75
Vielen Dank, werde ich jetzt mal so ändern.PS.:
ich muss nochmal nachfragen, da mir etwas nicht klar ist.
Über dem Zeitplan setzt du die Liste auf den Wert eines Datenpunktes, als Kommentar hast Du drüber geschrieben "eigener DP als Liste".
Meinst Du, dass ich einen neuen Datenpunkt setzten soll, also z.B. Liste_PV_Mittelwert?Danke
VG
Sascha -
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Meinst Du, dass ich einen neuen Datenpunkt setzten soll, also z.B. Liste_PV_Mittelwert?
Richtig und zwar den DP auch als Liste (Array) anlegen.
Dieser wird dann unten im Skript dann jedesmal mit den neuen Werten geschrieben. So wird bei einem Neustart vom Skript, der Instanz oder der kompletten Maschine gewährleistet dass Du nicht immer bei NULL anfängst
-
@djmarc75
super, vielen Dank.Mit der Geschichte String, Number, array usw stehe ich noch total auf Kriegsfuss.
Ich weiß zwar grundsätzlich was was ist, aber immer, oder besser gesagt oft, wenn ich mir sicher bin, das ich z.B. Number nehmen muss, weil es sich um eine Zahl handelt was ich speichern/übergeben möchte, kommt nachher ein Fehler im log und ich mach dann string raus.Naja irgendwann werde ich das auch noch verstehen.
Wärst Du so lieb und könntest mir das mit dem array bezogen auf die Liste erklären, muss nicht jetzt sein, ich würde es nur gerne verstehen, damit ich nicht jedes mal auf ein neues mit sowas hier um die Ecke komme. Auch was das für Auswirkungen hat, wenn ich das nicht mache, als bei der Variablen habe ich das ja nicht gemacht.
Aber nur wenn Du Lust und Zeit hast.
Danke
VG
Sascha -
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Auch was das für Auswirkungen hat, wenn ich das nicht mache, als bei der Variablen habe ich das ja nicht gemacht.
kurz und knapp dazu: eine Variable überlebt keinen SkriptNeustart
@woupi sagte in Ausführung trotz Triggern Zeitplan:
mit dem array bezogen auf die Liste erklären
Array = Liste ... nur halt auf englisch
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Mit der Geschichte String, Number, array usw stehe ich noch total auf Kriegsfuss
String = Zeichenkette (Text und Zahlen usw - alles gemischt)
Number = Zahl - da werden auch nur mathematische Werte akzeptiert
Array = Liste (wie oben kurz erläutert)Wenn Du an einen DP etwas übergeben willst dann musst Du natürlich wissen was der zu beschreibende DP für ein Typ ist denn nur dieser jeweilige Typus wird erfolgreich übergeben.
Bin jetzt nicht so der Erklärbär und hoffe Dich nicht zu verwirren
-
@djmarc75 sagte in Ausführung trotz Triggern Zeitplan:
Bin jetzt nicht so der Erklärbär und hoffe Dich nicht zu verwirren
Nein, danke, besser etwas, als gar nichts.
Grob habe ich das so auch schon so gewusst, ich weiß nicht, wo da mein Problem ist.
Ein Beispiel ist eventuell einfacher:An "SetHeatPump" wird eigentlich nur die Zahl "0" übergeben.
Zuerst habe ich daher den DP "SetHeatPump" als number angelegt.
Leider hat das nicht funktioniert. Der DP hatte dann zwar die 0, aber die Pumpe wurde nicht ausgeschaltet.
Dann habe ich den DP als String angelegt. Dann hat zwar beides funktioniert, nun kam aber im log etwas in der Art, dass ich ein number an einen string übergebe und das in zukünftigen Versionen Probleme verursachen könnte.
Daraufhin habe ich dann noch das "nach String" davor gesetzt und nun sind keine Fehler mehr da und es läuft.Das Spielchen habe ich dann mit ganz vielen DP.
Warum auch immer.
VG
Sascha -
@woupi sagte in Ausführung trotz Triggern Zeitplan:
An "SetHeatPump" wird eigentlich nur die Zahl "0" übergeben.
Dann zeig mal die Objektdaten von dem DP (den Bleistift rechts neben dem DP im Objektbaum anklicken)
-
@woupi sagte in Ausführung trotz Triggern Zeitplan:
aber die Pumpe wurde nicht ausgeschaltet.
?? diese wird aber nicht in dem von Dir gezeigten Skript gesteuert.
Der DP Deiner Pumpe ist dann wichtig zu sehen, also die Objektdaten - und das Skript in dem Du diesen DP ansteuerst. -
{ "common": { "name": "SetHeatpump", "desc": "Manuell erzeugt", "role": "variable", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "_id": "mqtt.0.panasonic_heat_pump.commands.SetHeatpump", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1683196270031 }
-
@djmarc75
Doch, funktioniert auch, also so wie es jetzt da steht. -
@woupi sagte in Ausführung trotz Triggern Zeitplan:
"type": "string",
is klar dass der bei Number nicht reagiert und im LOG dann ein Vermerk steht
-
Das hast du falsch verstanden, jetzt meckert ja nichts mehr.
Zuerst hatte ich den dp als number angelegt. -
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Zuerst hattecich den dp als number angelegt.
Ich sehe da aber nur einen DP unter mqtt welcher als String angelegt ist:
{ "common": { "name": "SetHeatpump", "desc": "Manuell erzeugt", "role": "variable", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "_id": "mqtt.0.panasonic_heat_pump.commands.SetHeatpump", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1683196270031 }
-
@djmarc75
Ja logisch, den anderen habe ich da ja auch gelöscht.Ich habe das was ich gemacht hatte und dann geändert habe, beschrieben, nicht den jetzt Zustand.
Und halt, dass es so wie ich es jetzt habe läuft.
Ich verstehe nur nicht, warum das vorher mit number nicht funktioniert hat. -
@woupi sagte in Ausführung trotz Triggern Zeitplan:
Ich verstehe nur nicht, warum das vorher mit number nicht funktioniert hat.
Ich auch nicht, aber das kann man jetzt auch nicht nachvollziehen da es jetzt passt
Da hat im Skript "vorher" iwas halt net gepasst