NEWS
Hilfe bei debuggen einer übernommenen Funktion
-
@bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:
Nun muss ich das noch mit dem Dashboard verstehen und umsetzen.
Na da brauchst dann die Init Node nicht mehr sondern konfigurierst Dir die iobroker-In Node so, dass die Parameter direkt eingelesen werden:
-
-
@bf0911 Einmal musst natürlich auch das komplette Objekt nach dem Einlesen in deine Flowvariable einlesen, das hatte ich noch vergessen:
Ich frage mich nur im Nachhinein, warum Dein Skript alles mit globalen Variablen und x unterschiedlichen Flows gemacht hat. Wenn ich mir das bis jetzt so anschaue
ist der Flow doch nicht so groß und komplex??
-
Warum globale Variable etc benutzt wurden kann ich dir nicht sagen.
Mein Flow ist etwas größer als deiner bzw. wird noch größer wegen dem Dashboard usw
Ich hab den Flow mit dem Dashboard zu übernommen, aber es lassen sich keine Zahlen einstellen
Das springt immer -
@bf0911 Na wenn du es wirklich übernommen hast, dann sollte es nicht passieren.
Schau mal ob du die Nachrichten nicht durchreichst?
das muss natürlich deaktiviert sein.
Ggf. musst DU natürlich bei ALLEN Dashboard Feldern schauen, dass Du die Nachrichten nicht durchreichst!!! (Also auch nicht bei Schaltern(switches) etc.)
-
@bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:
Ich hab den Flow mit dem Dashboard zu übernommen, aber es lassen sich keine Zahlen einstellen
Das springt immerUnd ggf. immer Debug Nodes an die letzte Node vorne und direkt dahinter machen. Prüfen, wenn Du das Kabel vorne trennst, ob es an ankommenden Nachrichten liegt oder nicht. Das ist ja nun das schöne, dass Du sowas gut debuggen kannst.
-
Ist es bei mir!
Ich hab deinen Flow natürlich mit meinen Variablen angepasst.
Jetzt scheint es zu funktionieren, obwohl ich nichts geändert habe
-
@bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:
Jetzt scheint es zu funktionieren, obwohl ich nichts geändert habe
Na dann weiß ich auch nicht - und lässt sich ja auch nicht mehr nachvollziehen.
Wenn ein undefined drin ist (wie bei der Pumpe ) oder was das für eine Node ist
kann ich dir nicht sagen.
-
@bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:
Jetzt scheint es zu funktionieren, obwohl ich nichts geändert habe
Vielleicht war auch noch was von Deinem alten Flow aktiv - dass den Kontext gesetzt hat? - Ich würde Dir raten den alten Flow komplett zu deaktivieren - damit Du nur noch die Nodes ggf. hast, um die raus zu kopieren.
-
Danke, habe den Flow direkt deaktiviert.
-
@bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:
Danke, habe den Flow direkt deaktiviert.
Wie gesagt auch für später ist es immer wichtig die Stellen, wo Du was ausgibst möglichst übersichtlich hälst. Im Idealfall einmal - manchmal auch an mehreren Stellen, um das Ganze übersichtlich zu halten.
-
Ich verabschiede mich dann mal, wenn Du noch was auf dem Herzen hast dann schreibs rein. Entweder bekommst dann eine Antwort direkt, aber ich geh ja mal davon aus, dass Du am Nachmittag dann wieder ins reale Leben abtauchst.
-
Ich bedanke mich total bei dir!
Ich habe soviel gelernt und verstanden! Stark!
Ja, genau, ich bin gleich auch erstmal wieder in der echten Welt.
Werde mich aber sicherlich nochmal melden, spätestens wenn der Flow komplett ist!
-
Es scheint immer noch ein Problem mit dem "Vergleich" ist zu Gesamt-Laufzeit Ph-Pumpe zu geben
Egal, welche deiner beiden Nodes ich nutze, es wird kein true weitergeleitet.
Es kommt auf jeden Fall von "Chlor-Pumpe nicht aktiv?" noch ein True. Das habe debuggt.
-
@bf0911 Na sowas kann ich doch gar nicht beantworten.
Du verdoppelst die Nachricht und deaktivierst die Tageslaufzeit.
Was kommt den wo raus?
-
Und bei den Schaltern für den Automatik-Modus Chlor und PH gibt es Problem.
Die Schalter werden bei den Strings "ON" und "OFF" geschaltet.
Da muss offensichtlich was anderes rein
-
Der Debug-Node "Chlor-Pumpe nicht aktiv?" gibt ein True aus, das soll ja durch "<max. Laufzeit" oder "max.Laufzeit nicht erreicht?" weitergeleitet werden, auf die Abfrage "PH-Automatik aktiv?" und dann ja die PH-Pumpe einschalten.
Die beiden Nodes sind jetzt aus Testgründen zusammen drin.
Nehme ich die Max-Tageslaufzeit-Abfrage raus, funktioniert die Logik und die PH-Pumpe schaltet
-
@bf0911 Wie gesagt teste es in dem Du Dir die Switches aus dem Flow einzeln testest:
Test Deine Switch Nodes halt getrennt vom Flow:
Oben lässt durch, weil die Automatik auf OFF steht.
und bei der Laufzeit das Gleiche - wie gesagt die Konstante unten rein.
Wie du siehst wird bei 8 Minuten geblockt und unter 7 Minuten nicht.
Was im Kleinen funktioniert, funktioniert dann auch im Flow.
Die Anzeige des Kontexts musst Du bei jeder Ansicht neu aktualisieren:
-
Node passt jetzt und der PH-Automatik-Zweig läuft (so wie er soll).
Danke!
Was ich eben noch festgestellt habe, ist dass wenn ich die Filter-Pumpe manuell per (Soft- oder Hardware)-Schalter einschalte, dass hier natürlich die Laufzeit auf eine Minute begrenzt ist, weil ja, die Zeitsteuerung nicht aktiv ist.
Das ist suboptimal. Was wäre hier ein sinnvoller Weg? Doch mit einem Betriebsmodus zu arbeiten?
Ideal wäre es, wenn ich die Pumpe zusätzlich zum Scheduler einschalten kann, sie dann aber so lange läuft bis der Scheduler ein False sendet.
-
@bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:
Was ich eben noch festgestellt habe, ist dass wenn ich die Filter-Pumpe manuell per (Soft- oder Hardware)-Schalter einschalte, dass hier natürlich die Laufzeit auf eine Minute begrenzt ist, weil ja, die Zeitsteuerung nicht aktiv ist.
Das widerspricht sich doch in der Aussage?
Die Laufzeit ist doch nicht begrenzt, wenn die Zeitsteuerung nich aktiv ist?
Die Zeitsteuerung hat doch nur die ph-Pumpe gesteuert?Und wenn Du willst, dass die ph-Pumpen Steuerung immer aktiv ist, egal ob manuell oder automatisch geschaltet wird, dann musst Du halt einfach den ganzen Block rausnehmen und dann ist er unabhängig von der Filterpumpen automatik.
Ansonsten kannst Du oben ja nochmal gerne nur den Automatikmodus ermitteln und ggf. unten noch blockieren.
Ich würde jedoch sauberer die ph-Pumpen oder welche Pumpen auch immer aus dem Automatikast entfernen, wenn diese Logik auch erhalten bleiben soll unabhängig, ob die Filterpumpenautomatik aktiv ist.
Aber letztlich glaube ich, dass Du das selbst nun umsetzen kannst. Das sind ja nun keine technischen Probleme mehr. Wie gesagt oben habe ich Dir nochmal die Nodes zur Verfügung gestellt mit der Du prüfen bzw. eine Flowvariable setzen kannst, um zu prüfen ob der Automatikmodus der scheduler Node für die Filterpumpe aktiv ist.