NEWS
UND und ODER Funktionen funktionieren nicht Blockly/KNX
-
@paul53 said in UND und ODER Funktionen funktionieren nicht Blockly/KNX:
Die Datenpunkte "POSITION" sind true oder 1 bei "offen"?
Geschlossen = true ; in irgendeiner Einstellung bei einem Adapter gab es glaube ich aber einen Haken zu setzen, dass true das Gleiche wie 1 ist....glaube beim KNX-Adapter
wow, danke für das Skript. Das muss ich ersteinmal nachvollziehen wobei ich denke, das grundsätzliche habe ich verstanden. Leider fehlt mir ein wenig der Hintergrund bzg. der Auslastung des RPi4s. Bitte lacht jetzt nicht, aber bedeutet eine Schleife nicht das etliche male pro Sekunde etwas berechnet wird? Ach vielleicht gar nicht weiter drauf eingehen. Ich probiere das nachher mal aus.
-
@tompador sagte: Geschlossen = true
Dann muss man den Wert negieren.
-
@homoran sagte: Dann müsste diese Doku angepasst werden
In der deutschen Doku ist es angepasst.
Folgende Zeichen dürfen nicht in IDs verwendet werden:
[]*,;'"`<>\\?
.
Es wird auch nicht empfohlen,^$()/
zu verwenden. -
So, nachgebastelt habe ich das jetzt. Naja was man eben basteln nennt
Nachvollzogen habe ich das ganze allerdings leider noch nicht. Ich habe auch noch nicht so wirklich mit Variablen gearbeitet. Das ist bestimmt ein Satz wo alle Programmierer jetzt die Augen verdrehen. Sorry
Könnt ihr mir helfen nachzuvollziehen, was genau da jetzt abläuft?
Was genau muss ich in "IDs vom Selektor $" einsetzen. Ich möchte ja drei Datenpunkte ansteuern, Fenster, Türen, Fenster_und_Tueren. Oder soll ich hier die KNX GAs verwenden? Könnte dann die Variablen auch noch durch GAs ersetzen. Allerdings mit _ & und auch Umlauten:
Danke schonmal
-
@tompador sagte: Was genau muss ich in "IDs vom Selektor $" einsetzen.
Für "Alle Fenster & Türen": knx.0.Fenster_und_Türen.*POSITION
Wenn die getrennten Datenpunkte für Fenster / Türen beschrieben werden sollen, benötigt man zwei Schleifen: Eine für Fenster und eine für Türen. -
Hallo,
danke bis hierher. Gestern abend noch getestet, war total erfreut, weil alles den Anschein gemacht hat auf Anhieb zu funktionieren. Nun leider heute noch einmal hier und da mit richtigen Fenstern (also nicht nur die Zustände im Broker oder ETS geändert) getestet und irgendwie funktioniert die Verbindung zwischen knx und iobroker nicht mehr einwandfrei. Mal ja mal nein, und recht willkürlich so macht es zumindest den Anschein. Wenn ich das Skript stoppe funktioniert alles wieder einwandfrei.
Ich habe das Skript noch einmal gestartet und ein Fenster geöffnet und wieder geschlossen. Das Öffnen wird noch angezeigt, das Schließen jedoch nicht.
Hat jemand eine Idee? So sieht es jetzt aus.
Schöne Grüße
-
Mir ist nicht ganz klar, warum der Selektor bei "Falls Objekt" alle Fenster und Türen einsammeln soll, bei den Schleifen jedoch Fenster und Türen getrennt durchlaufen werden müssen.
Edit: Gerade noch meinen Denkfehler gesehen: Das muss natürlich so sein, da man für die Fenster und Türen auch separate Datenpunkte hat.
Trotzdem die Frage: Funktionieren die Selektoren so, dass auch Punkte mit dem Stern gefunden werden?Vielleicht solltest Du bei "Falls Objekt" auch beide Selektoren verwenden, also links auf den blauen Knopf klicken und eine weitere Objekt ID durch ziehen hinzufügen und bei den beiden Anschlüssen von "Falls Objekt" dann die beiden Selektoren verwenden, die auch bei den grünen Blöcken verwendet werden.
-
@tompador sagte: Wenn ich das Skript stoppe funktioniert alles wieder einwandfrei.
Du schreibst auf Datenpunkte, die nach KNX senden? Hake mal "mit Verzögerung" an, insbesondere beim letzten DP.
@zarello sagte in UND und ODER Funktionen funktionieren nicht Blockly/KNX:
Vielleicht solltest Du bei "Falls Objekt" auch beide Selektoren verwenden
Das macht bei der verwendeten Struktur keinen Unterschied.
-
@paul53 said in UND und ODER Funktionen funktionieren nicht Blockly/KNX:
Du schreibst auf Datenpunkte, die nach KNX senden? Hake mal "mit Verzögerung" an, insbesondere beim letzten DP.
Das hätte ich nicht erwartet, jetzt bin ich neugierig: Warum kann das an der Stelle einen Unterschied machen?
Geht es dabei um eine Race-Condition? (KNX liest die Werte aus um sie zu bestätigen bevor sie geändert wurden und schreibt dann nach der Änderung die alten Werte mit Bestätigung zurück?)
Oder etwas ganz anderes - oder einfach nur Erfahrung?
-
@zarello sagte: einfach nur Erfahrung?
Nein, nur Vermutung, denn ich habe kein KNX. Nur das Schreiben in Datenpunkte kann Einfluss auf den KNX-Adapter haben.
-
Hat leider nicht den gewünschten Effekt gebracht. Weiterhin keine Reaktion in den Objekten beim Öffnen/Schließen der Fenster. Wenn überhaupt denn nur einmal, danach jedoch nicht mehr.
-
@tompador sagte: Hat leider nicht den gewünschten Effekt gebracht.
Dann schreibe mal die 3 Resultate in eigene Datenpunkte unter "0_userdata.0", um zu sehen, ob es das Schreiben nach KNX ist, was den Adapter stört.
-
Hallo, sorry für die späte Rückmeldung und danke für die Antwort.
Mit drei eigens erstellten DPs wie von Dir beschrieben funktioniert es. Das hilft mir ja für meine Visu in jedem Fall schon mal weiter. Warum auch unnötig auf den Bus schreiben.
Aber woran es hadert weiss ich nun immer noch nicht. Egal, dieses wird nun erstmal getestet und dann kann man sich ja um weiteres kümmern.
Ich bin beeindruckt wie ihr hier einen Newbie innerhalb von nicht einmal einer Stunde helft, ja im Grunde genommen, hast du sogar mein Blockly geschrieben, und ich habe ihn nicht einmal komplett nachvollzogen. Ich habe es selbst ja auch viel probiert und das hat eben nicht geklappt. Ist vielleicht nicht der Sinn der Sache, aber ich habe was gelernt und bin euch dankbar.
Schöne Grüße