NEWS
Wo finde ich diese Buttons ?
-
Wie crunchip schon sagt. Der Trigger sollte auf "wurde geändert" stehen, oder auch "wurde aktualisiert".
Dann gibt es unter den Logikblöcken einen "wahr/unwahr" Block. Den solltest du nehmen anstelle der mathematischen 1.
Außerdem verwende mal den System Block "steuere Objekt mit "wahr/unwahr"" anstelle von "umschalten"Noch zwei kleine Tipps... Ein rechtsklick auf den "und/oder" Block -> "externe Eingänge". Macht es übersichtlicher.
Das blaue Zahnrad neben dem "falls" lässt sich anklicken um weitere "sonst falls" zu generieren.Soo viele Blockly Bausteine gibt es ja garnicht. Verschaff dir mal einen Überblick und probier etwas rum.
Viel Erfolg
-
an sich ist das "umschalten" und "ist größer als letztes" schon richtig, denn, es soll ja nur auf eine änderung von 0 zu 1 reagiert werden (taster drücken) und nicht von 0 zu 1 (taster los lassen)
nehme ich "steuere" statt "umschalten", dann wird es ja genau einmal eingeschaltet, aber für das auschalten muss wieder ein neuer befehl geschrieben werden..
dabei möchte ich das gateway mit dem taster aktiv schalten und bei erneutem drücken wieder inaktiv...
aktiv = LED leuchtet und reagiert auf alle fensterkontakte.
inaktiv = led ist AUS und reagiert auf keine kontakte mehr....
ich denke das war anfang schon garnicht so verkehrt.
bzgl dem "wahr und unwahr" statt 0 und 1, habe ich so geändert.
aber das funktioniert ja auch, es funktioniert nur nicht der utnere, blaue "falls" block nicht....
falls wert von objekt light (das ist das gateway und dort die leuchte) = wahr ist UND kontakt A oder kontakt B auch = wahr ist, dann schalte das licht wieder aus (nur zu testzwecken)...
aber das tut es nicht...obwohl objekt light wirklich auf true steht und der kontakt geöffnet wird und somit eine true sendet.... irgdenwie kappt die logik nicht
kann es damit zusammenhängen, dass "wert von objekt leuchte" nicht mit = wahr oder = unwahr verknüpft werden kann, sondern nur zahlenwerte wie z.b. dimmwerte arbeitet ?
-
ich habe es jetzt mal so gemacht, ohne das = wahr
das MUSS doch funktionieren, tut es aber nicht, wieso ?
falls -> wert vom objekt Light (ist derzeit auf 1) UND wert vom fensterkontakt 1 ODER fensterkontakt 2
mache -> das licht wieder aus... also umschalten....derzeit ist es AN, also müsste es doch dann AUS gehen ?
tut es aber nicht... die fensterkontakte funktionieren aber
-
Das ist kein Triggerbaustein!
Der Logikbaustein darf nur als weitere "Subroutine" verwendet werden.
zur Reaktion als Trigger brauchst du den Roten -
@Smuji weil das sinnentleert ist
"Falls Wert von Light"
UND
"Wert is opened" ODER "Wert is opened"WAS soll denn der Wert von Light sein?? - das sagst Du nicht
WAS Soll denn "is opened" oder "is opened" sein?Merkst Du selber, oder?
-
@ homo: danke...gut, dann weiß ich da bescheid.
@BB: oben hatte ich es mal mit = true probiert, daher dachte ich ich probiere es mal ohne...
is opened heißt mein fensterkontakt..... da steht bei state , name: is opened und kann wert true oder false annehmennun habe ich was dazugelernt
ich habe es nun wieder in den ursprung versetzt und mit = wahr versehen, nur wie bringe ich nun die blauen Falls-bedingungen zum triggern ? ich hatte versucht diesen block einfach mit in den obigen trigger einzufügen, geht aber nicht...
ich habe es nun so probiert:
-
@Smuji Dein Triggerpunkt (Auslöser = > das was DU beobachtest,bzw. das worauf Du reagieren willst), das ist der "rote" Bereich
Alles was anschließend ausgelöst werden soll aufgrund der Änderung deines Triggerpunktes (deines beobachteten Datenpunktes) muss also INNERHALB der "roten Klammer" stehen.
Alles was Außerhalb der roten Klammer steht steht, wird nicht von Trigger gesteuert.Nun willst Du als nächstes unterscheiden WIE sich dein Triggerpunkt verändert hat.
Hat er sich bspw. von "true" auf false" verändert, soll womöglich etwas anderes als Reaktion erfolgen, als wäre er anders herum von "false" auf "true" gewechselt.Deshalb legst Du nun INNERHALB des roten Bereiches eine blaue "Falls" Bedingung an.
Alles was nun INNERHALB dieser blauen "Falls" Bedingung steht wird entsprechend ausgeführt
Eine weitere "Falls" Bedingung (oder auch "SONST FALLS") fängt dann den zweiten Fall ab -
ok, habe ich eigentlich auch grob verstanden, also habe ich eine zweite trigger-klammer erzeugt.
also auslöser habe ich den aktuellen licht-zustand gewählt. falls dieser wahr ist, geht es in die blaue "falls" bedingung....
oder MUSS alles zwangsläufig in der ersten roten trigger rein?
-
@Smuji sagte in Wo finde ich diese Buttons ?:
also habe ich eine zweite trigger-klammer erzeugt.
Wo genau?
Trigger in Trigger geht nicht -
@Smuji schreibe doch einfach mal in Fließtext auf was genau Du erreichen willst:
z.B.
"Wenn ein bestimmtes Licht eingeschaltet wird, dann soll das und das passieren, aber auch nur wenn es draußen gerade nicht regnet"
"Wenn ein bestimmtes Licht ausgeschaltet wird, dann soll hingegen das und das geschehen, egal ob es regnet oder nicht"Verstehst Du was ich meine?
Solange wir nicht wissen was Du eigentlich genau, unter welcher Voraussetzung schalten willst oder auch nicht, können wir dir nur allgemein Antworten geben.Dir fehlen offensichtlich noch ein paar Mosaiksteine in dem Puzzle, so dass Dir das gesamte Bild noch nicht ganz klar ist, aber das bekommen wir schon noch hin
-
habe ich doch schon mehrmals.....
ein taster aktiviert die "alarmanlage" und ihre Bereitschaft signalisiert sie mit einem LED-licht.
wenn sie aktiv ist, reagiert sie auf einen fensterkontakt und soll später (noch nicht eingebaut) yeelight-lampen einschalten.
drückt man den taster nochmals, wird sie wieder deaktiviert,LED geht aus und fensterkontakte sind funktionslos....
mich interessiert einfach nur, warum die untere schleiche "tot" ist(ich suche meinen denkfehler).....ich habe sie doch in einen roten trigger gepackt...
Falls Objekt Light = wahr (falls sie aktiv geschaltet wurde und nur dann)
regaiere auf die "is opened = wahr" (fenster offen = wahr)
und "umschalte" die leuchte, die den trigger ausgelöst hat. (das bleibt natürlich nicht so, ist aber im moment die einzige leuchte zum funktionstest) ich will nur erstmal die funktion überprüfen, bevor ich noch weiteres hinzufügeliegt es nun daran, dass die gleiche leuchte den trigger startet, welche dann vom trigger "umgeschaltet" werden soll? geht es deswegen nicht ?
-
@Smuji sagte in Wo finde ich diese Buttons ?:
wenn sie aktiv ist, reagiert sie auf einen fensterkontakt und soll später (noch nicht eingebaut) yeelight-lampen einschalten.
Dazu brauchst du keinen zweiten Trigger, sondern ein SONSTWENN
-
ok, ein else if sozusagen.... aber eigentlich müsste es doch auch so gehen? oder funktionieren 2 trigger einfach nicht ?
aber ich verstehe nicht wo ich den "sonst wenn" einbauen soll ?
ich kenne einen "sonst wenn" so:
wenn A passiert, mache X
wenn aber B passiert, mache Y
in meinem fall ist es ja eher ein;
wenn A passiert, mache X
wenn X gemacht wurde, überprüfe ob D oder E und mache dann T
p.s. WARUM, funktioniert mein obiges nicht ? ich möchte nicht gezeigt bekommen, WAS ich machen soll, sondern WESHALB meins nicht geht, sonst stehe ich beim nächsten mal vor dem gleichen problem, weil ich nicht verstanden habe, warum es falsch war. du verstehen ?
-
@Smuji
WENN dies passiert und x ist falsch
MACHE jenes
SONSTWENN DIES passiert UND X = TRUE
mache jenesOder alles direkt dem Trigger unterstellen
Trigger = Taster (auf Änderung)
WENN Taster und x ist falsch
MACHE X true
Mache Licht an
SONSTWENN Taster True passiert UND X = TRUE
mache X=false
Mache Licht aus -
das hilft mir leider nicht weiter und ich verstehe nicht ganz was du mir sagen willst... du sagst mir des öfteren taster auf änderung... das bewirkt bei mir....taster wird gedrückt, lampe geht an, taster wird losgelassen, lampe geht aus (bei Änderung wird umgeschaltet)... ich verstehe, dass ich über Änderung im zusammenhang mit steuerung statt umschalten, ebenfalls das gewünschte erreichen kann, ist nur ein klein wenig mehr aufwand..
kannst du mir aber sagen, WARUM folgendes nicht funktioniert ?
(in einem trigger oberhalb habe ich (Objekt ID Light) auf TRUE gesetzt)umschalten power ist jetzt eine RGB lampe die derzeit AUS ist. umschalten bewirkt AUS zu AN
Objekt ID is opened liegt vor mir und wird AUF gemachtwarum geht das licht nicht an ?
-
@Smuji sagte in Wo finde ich diese Buttons ?:
(in einem trigger oberhalb habe ich (Objekt ID Light) auf TRUE gesetzt)
eben nicht!
du wartest darauf DASS das Licht an geht -
@Smuji zunächst einmal:
Dein AUSLÖSER ist also der Fensterkontakt - korrekt?WENN das Fenster geöffnet wird UND die Alarmanlage scharf ist
DANN schalte das Licht ein
Sonst soll nichts passierenIst das so richtig?
-
@BBTown sagte in Wo finde ich diese Buttons ?:
WAS soll denn der Wert von Light sein?? - das sagst Du nicht
WAS Soll denn "is opened" oder "is opened" sein?Solange wir das nicht wissen, ist alles Rätselraten.
Ich hoffe, dass ich zwischen den Zeilen deinen Satz jetzt richtig interpretiert habe und dem Knoten etwas näher gekommen bin -
@Smuji sagte in Wo finde ich diese Buttons ?:
das hilft mir leider nicht weiter und ich verstehe nicht ganz was du mir sagen willst... du sagst mir des öfteren taster auf änderung... das bewirkt bei mir....taster wird gedrückt, lampe geht an, taster wird losgelassen, lampe geht aus (bei Änderung wird umgeschaltet)... ich verstehe, dass ich über Änderung im zusammenhang mit steuerung statt umschalten, ebenfalls das gewünschte erreichen kann, ist nur ein klein wenig mehr aufwand..
kannst du mir aber sagen, WARUM folgendes nicht funktioniert ?
(in einem trigger oberhalb habe ich (Objekt ID Light) auf TRUE gesetzt)umschalten power ist jetzt eine RGB lampe die derzeit AUS ist. umschalten bewirkt AUS zu AN
Objekt ID is opened liegt vor mir und wird AUF gemachtwarum geht das licht nicht an ?
In deinem Script löst Du eine Aktion aus weil ein Licht angeht.
Wofür soll das gut sein? -
ich weiß, ich bin ein schwieriger Fall aber ich bin euch dankbar, dass ihr euch die zeit für mich nehmt . danke !
das ist mein oberer trigger und er funktioniert einwandfrei.... Light geht an
@BBTown: als abfrage, ob meine selbstgebaute "alarmanlage" aktiv ist.....ich nutze das xiaomiGateway, schalte mit einem taster die LED aktiv....so weiß man, oh, jetzt kein fenster öffnen, sonst passiert etwas....
damit meine fensterkontakte oder besser gesagt die Abfolge danach weiß, ob sie überhaupt auf die fensterkontakte reagieren soll, nehme ich als "aktivator" einfach die LED die ich zuvor eingeschaltet habe