NEWS
[Erldigt/Erklärt] IDs vom Selektor erklären...
-
hallo zusammen.
hoffe ich bin mit der Frage hier richtig anstatt im Blockly UnterforumIch möchte alle meine Bewegungsdatenpunkte checken ob diese auf False stehen.
Habe nun unter Aufzählung unter Functions die Kategorie "Bewegung" erstellt.
Name: Bewegung
Id bearbeiten: enmu_1 ( Standart ?)
Hier habe ich dann alle Datenpunkte "presence" von den Sensoren reingepackt. Aber mit dem Blockly komm ich nun nicht weiter.
Wie checke ich nun ob alle Datenpunkte auf false stehen? geht das überhaupt so? -
@jensven
Am besten erstellt man anhand des Selektors eine Liste.
Dann kann man das schön in einer Schleife zählen.
Schaue grad mal, ob ich ein Beispiel von mir finde.EDIT:
So zähle ich die Personen im Haushalt.
Kann man ja eigentlich 1 zu 1 übertragen.
Zähle eben ob der Wert "wahr" ist, musst bei der Bedienung einfach ein "nicht" rein machen, dann zählst du "false". -
-
@jensven sagte in IDs vom Selektor erklären...:
hoffe ich bin mit der Frage hier richtig anstatt im Blockly Unterforum
frage ich mich gerade auch.
Arbeiten mit einem Selector ist für mich nicht unbedingt Einsteigerniveau.
-
-
Wenn ich mich nicht irre (verbessert mich), werden einmal die Funktionen abgefragt ( wie in meinem Beispiel oder wie du es vor hast).
Im anderen Beispiel im Link wird direkt der Pfad zu den Datenpunkten (mit einem * als Platzhalter) angegeben.
Das macht zB Sinn, wenn du von allen Homatic Geräten den Batteriestatus abfragen willst. Dann gibst du den Pfad zum Akkudatenpunkt an und beim Gerät ein *.
zBhm-rpc.0.*.0.LOW_BAT
So findet er den LOW_BAT von allen Geräten.
-
@david-g
verstehe ich das richtig dass ich dann mitchannel[state.id=precense]
alle Datenpunkte "precense" in meiner Datenbank durchsuche und nicht in der von mir erstellten Aufzählung
und mit
state[id=*]functions='Bewegung')
werden nur die Datenpunkten abgefragt die ich auch in dieser Aufzählung drinne habe?
-
Genau.
Wobei "alle" relativ ist. Eben unter dem Pfad den du angegeben hast.
Ob man da einfach nur *.precense eingeben kann und er das überall findet weiß ich nicht. Müsste man testen. -
ich habe das z.B. so (für eine Aufzählung)
wobei die Schreibweise (groß/klein) übereinstimmen muss. (der Teil hinter enum.functions. ist der gesuchte)
-
Ich habe jetzt mal folgendes versucht:
Aber es kam nie zu nem debug output.
Hab natürlich nen sensor zum auslösen jedes mal gebracht.ich hab das ja so richtig gemacht oder?
Die direkten datenpunkte von precense rein gemacht
-
@jensven sagte: es kam nie zu nem debug output.
Javascript-Instanz neu starten.
Im ersten Fall ist im Trigger ein Hochkomma zu viel oder zu wenig.*.presence(functions=bewegung_alle)
-
Und beim oberen Trigger fehlt ein Anführungszeichen oder?
-
@jensven war quatsch von mir
-
@paul53
das mit dem*.
war es dann. Ich hatte ja die ganze Zeit
id=presence
drinnen stehen (c und s hatte ich dabei auch vertauscht)