NEWS
[gelöst] Eingeschaltete Verbraucher überwachen
-
@tontechniker
Beschreibe bitte noch mal was Du erreichen willst, weil so ganz habe ich das noch nicht verstanden. Wobei Dein Blockly eben auch kein Sinn ergibt.Du willst doch lediglich ein paar Lampen (wie viele?) prüfen, ob die an sind und wenn eine davon an ist, dann soll ein DP auf wahr wechseln, richtig?
-
@tontechniker sagte: Nach einfügen von Konvertierung "nach Logikwert" funktionierte das Blockly wie gewünscht.
Enthalten die Datenpunkte "Rundumleuchten" und "Wege" Zahlen (Anzahl der eingeschalteten Leuchten)? Wenn ja, dann bilde die Summe und prüfe diese auf > 0.
Man kann auch mit Typwandlung arbeiten, was aber der Verständlichkeit abträglich ist.
-
@paul53
Du bist ja der Blockly Spezi, deshalb mal ne Frage zu dem Blockly so wie es jetzt ist. Wie kann ich ein Objekt mit ner ODER definiert setzten? Wenn die beiden Objekte unterschiedlich sind, welches ist dann dominant?mal von der Konvertierung abgesehen, kann das doch so nicht funktionieren:
-
@jan1
Bei ODER (||) wird der erste (von links nach rechts) Operand zurück gegeben, dessen implizite Typwandlung true ergibt. -
@paul53
OK, heißt tatsächlich wenn einer der beiden Werte TRUE ist (oder eben nicht einer der Werte die ein FALSE verursachen), wird auf TRUE aktualisiert, oder beziehst Du das jetzt doch auf die Konvertierung auf ein Logikwert?
Die Konvertierung wird ja eh nur benötigt, wenn die Objekte nicht boolen sind, was noch nicht geklärt ist.Edit:
würde auch erklären warum das so funktioniert, obwohl das dann aber zu 100% Zufall ist, da er das was Du da aufführst als Anfänger nie und nimmer absichtlich gemacht hatDa empfehle ich aber trotz Funktion das auf "normal" umzubauen, da man diese Logik erst mal verinnerlichen muss.
-
@jan1 sagte: Die Konvertierung wird ja eh nur benötigt, wenn die Objekte nicht boolen sind
Ja, siehe Beispiel:
-
@paul53
OK, wieder was gelernt.
Mal schauen was @Tontechniker noch schreibt und ob die Konvertierung wirklich nötig ist, oder ob die nur zufällig das Blockly so zurecht biegt, dass es augenscheinlich das Tut was gewünscht ist, was wirklich Zufall sein sollte -
@jan1
Das mit der Konvertierung macht mich auch etwas stutzig. Meine verwendeten Objekte sind alle "bool". Trotzdem kommt die schon oben erwähnte Fehlermeldung im Log, wenn ich die Konvertierung nicht einfüge.
Ich habe drei Stockwerke mit je ca. 10 Objekten. In der Visu habe ich für jedes Stockwerk einen Indikator (bool) eingebaut, der anzeigt, dass noch nicht alle Objekte (Leuchten) aus sind.
Nach meinem Kentnisstand habe ich ein logisches "oder" über die Objekte mit meinem Blockly gebaut, das - bis auf die Konvertierung - so funktioniert wie gedacht.
Das das ein Zufallsprodukt sein soll, kann ich nicht glauben. Ich kann auch mal den Code des Blocklys hier einstellen, dann können die Spezialisten nachsehen, warum es funktioniert.
Hans -
@tontechniker
Das ist ein ZufallsproduktWenn das wirklich boolen sind, dann ist die Konvertierung überflüssig.
Ich fasse jetzt noch mal zusammen, was Du überhaupt machen willst.Beleuchtung Garten soll auf true wechseln, wenn Rundumleuchten oder Wege true sind, richtig?
Wenn ja dann poste mal bitte den Export, damit ich das so umbaue, wie es für mich am logischsten wäre. -
@jan1
Ich schicke Dir mal ein komplettes Stockwerk.
Erster Stock.txt
Und hier das einfache Beispiel.
Garten.txt
Danke! -
@tontechniker
So und hier mein Vorschlag den ich wesentlich logischer finde:
Dann noch ein Tipp für die Übersicht, rechte Maustaste auf den Block und "externe Eingänge" wählen@paul53
könnte man sich das viele Oder in der FALLS auch mit "ist wahr" im Trigger und WERT in der FALLS noch verkürzen? -
@tontechniker sagte: Ich kann auch mal den Code des Blocklys hier einstellen, dann können die Spezialisten nachsehen, warum es funktioniert.
Das nutzt nichts, da wir nicht nachvollziehen können, was die Trigger-Datenpunkte liefern. Bau besser zwei Debug-Blöcke für die Log-Ausgabe der beiden Datenpunkt-Werte ein.
-
@jan1 sagte: könnte man sich das viele Oder in der FALLS auch mit "ist wahr" im Trigger und WERT in der FALLS noch verkürzen?
Nein.
-
@paul53
Hatte ich mir gedacht, da der Trigger hier leider nicht als ODER fungiert und die Zuordnung WERT wohl auch nicht so ist wie es bei einem einzelnen Objekt wäre, schade da man so alles doppelt angeben muss.@Tontechniker
Der RAW eines der Trigger DPs wäre hier auch nützlich, da man da sieht wie der deklariert ist. -
@jan1 sagte: Der RAW eines der Trigger DPs wäre hier auch nützlich, da man da sieht wie der deklariert ist.
Aber nur dann, wenn sich die Werte im Datenpunkt an die Deklaration halten, was leider nicht immer der Fall ist.
-
@paul53
Die Anbindung der Geräte erfolgt wohl über den KNX Adapter, der auch die Objekte generiert. Ist das dann nicht automatisch richtig? -
@jan1 sagte: KNX Adapter, der auch die Objekte generiert. Ist das dann nicht automatisch richtig?
Ich weiß nicht, ob der KNX-Adapter alle Datenpunkte richtig behandelt (habe kein KNX).
-
@tontechniker sagte: Meine verwendeten Objekte sind alle "bool".
Der Javascript-Adapter denkt sich das nicht aus:
You are assigning a number to the state "0_userdata.0.Überwachte_Verbraucher.Beleuchtung_Garten" which expects a boolean. Please fix your code to use a boolean or change the state type to number
-
@jan1
Habe alle Blocklys so wie Du vorgeschlagen umgestellt. Es funktioniert ohne Konvertierung.
Vielen Dank!
Gruss
Hans -
@paul53
Du vermutest richtig. Alle Datenpunkte kommen von KNX. Deshalb konnte ich mir die Fehlermeldung nicht erklären. Ich glaube, ich habe mit meiner ersten Version ein "feature" entdeckt und mit der Konvertierung den dabei entstehenden Fehler ausgebügelt.