NEWS
Beamer per Sprache ein/aus
-
@mehrwiedu Wenn du abhängig davon ob du Alexa an/aus sagst was schalten willst, dann musst du noch ein IF rein machen.
Aber! nicht mit "Wert von Objekt" sondern eine Variable mit value anlegen und diese verwenden. Darin ist der neue Wert gespeichert. -
das sind die Werte des DP
-
@mehrwiedu sagte in Beamer per Sprache ein/aus:
Und was ist der Datenpunkt LGBeamer oben aus Deinem Skript, den Du mit wahr und falsch abfragst?
das ist die IP Adresse!
-
@thewhobox sagte in Beamer per Sprache ein/aus:
@mehrwiedu Wenn du abhängig davon ob du Alexa an/aus sagst was schalten willst, dann musst du noch ein IF rein machen.
Aber! nicht mit "Wert von Objekt" sondern eine Variable mit value anlegen und diese verwenden. Darin ist der neue Wert gespeichert.Wow. Jetzt wird es zu einer Lehrstunde und ich möchte Dich bitten, mir das zu verdeutlichen. Solche Abhängigkeiten habe ich nämlich eine ganze Menge bei mir und ich habe das alles auf true or false im Alexadatenpunkt abgefragt und entsprechend der Einstellung dann geschaltet.
Das ist glaube ich so etwas, was ich in der Diskussion mit AlCalzone meinte, dass es immer eleganter geht, als man es selbst "irgendwie" umgesetzt bekommt. -
nein dann hat er false
-
@mehrwiedu Ja da gebe ich dir recht, dass es oft eleganter geht. Einige meiner Skripte muss ich auch noch dahingehend umbauen^^
Das problem dabei kann nur sein, dass du mit "Wert von ObjektID" noch den alten wert bekommst und nicht den neuen.
Ich meinte ja auch nur, dass es in diesem Beispiel nicht viel Sinn macht, wenn er nur den Beamer an/aus schalten möchte.
Man könnte die Variable "value" dann auch einfach weitergeben (wenn alles im IF bei aus auch ausgeschaltet werden soll, oder man negiert es)
-
@thewhobox sagte in Beamer per Sprache ein/aus:
@mehrwiedu Ja da gebe ich dir recht, dass es oft eleganter geht. Einige meiner Skripte muss ich auch noch dahingehend umbauen^^
Das problem dabei kann nur sein, dass du mit "Wert von ObjektID" noch den alten wert bekommst und nicht den neuen.
Ich meinte ja auch nur, dass es in diesem Beispiel nicht viel Sinn macht, wenn er nur den Beamer an/aus schalten möchte.
Man könnte die Variable "value" dann auch einfach weitergeben (wenn alles im IF bei aus auch ausgeschaltet werden soll, oder man negiert es)
Ahhhhh...jetzt habe ich das verstanden. Das ist wirklich elegant.
Und eine wirklich lehrreiche Unterhaltung, weil mir die Syntax gar nicht bekannt war.
value als Variable nimmt hier also den Wert von Objekt Test an und gibt ihn dann an Pause und Switch state weiter.
Genial. Danke für diese Erhellung.Damit spart man sich ja doch einiges an Objekten in dem Blockly. Das kann ich bei mir mehrfach anwenden.
Ich habe bei mir immer auf den Alexadatenpunkt getriggert und jeweils noch abgefragt, ob true oder false und entsprechend dann gesteuert.
Und logisch...mit dem Alexadatenpunkt, wenn ich ihn per Phrase AN und AUS schalte, gebe ich den gewünschten State ja bereits vor, sofern damit auch nur ein- und ausgeschaltet werden soll. Sind Lampen im Spiel, die auch nur an und ausgemacht werden sollen, werden die einfach negiert (getoggled).Bei anderen Schaltzuständen (Color.Temperature) oder differenten Werten zu true und false muss aber dann wieder eine IF Abfrage rein, oder ich definiere sie als eigene Variable und gebe sie dann weiter.
@MyzerAT
Das ist dann exakt die Lösung für Dein Vorhaben.
Pause musst Du mit dem Button des Beamers austauschen und Switch state mit dem Button der Soundbar.
Den Datenpunkt Test (mit Deinem Wunschnamen) musst Du Dir dann natürlich noch anlegen und den als Gerät in Alexa integrieren. -
Im Script muß Beamer immer true sein , bei false sendet der BL nicht.
Es ist -> wahr <- er möchte den Beamer ausschalten. -
Sag ich doch
Man könnte auch im Broadlinkadapter einen "state" anlegen, den man mit dem smart home Gerät verbindet und man für "aus" und "an" jeweils den selben Befehl hinterlegt.
Für mehr Geräte, alternativ eine Szene.
-
und wie mach ich es jetzt richtig ^^ bitte mal ein Beispiel
-
Weniger und einfacher ist manch einmal mehr.
Erst Wege testen.
Lege dir einen Datenpunkt als level an ( Beispiel ist hier Beamer ) der aus Alexa heraus per Sprachbefehl true / false schaltet.
Der weitere Weg siehe Bild.
Verbessern kannst du später immer noch.
Das sollte erst einmal laufen.Damit hast du drei Debug Punkte zur Fehlersuche.
ALEXA schaltet den Datenpunkt Beamer per Sprachbefehl true / false.
Im BL den Beamer per Button schalten.
Datenpunkt per Hand true / false schalten.Die Value aus der Objekt ID übernehmen geht aus meiner Sicht nicht.
-
super echt nett von dir, kämpfe aber gerade an der Zigbee Front, schau es mir aber sicher an und meld mich wieder, THX ^^
-
@Ralla66
So habe ich das auch bisher gemacht.
Alternativ, einen State im Broadlink adapter anlegen, dann braucht man zu einfachem Schalten gar kein Skript mehr.
Der Adapter erzeugt einen 3. Datenpunkt unter "states". -
@Ralla66 sagte in Beamer per Sprache ein/aus:
Die Value aus der Objekt ID übernehmen geht aus meiner Sicht nicht.
Funktioniert perfekt. Ich habe gerade alle meine Skripte darauf umgestellt.
Value nimmt den State des Triggers an und reicht ihn an das Objekt weiter. -
was wird hier geändert ?
und was ich auch noch nicht verstehe, ich hab in meinem Script den Datenpunkt auf der IP des Beamers so weiss das Script ob er läuft oder nicht, das fehlt bei dir komplett ?!
-
@MyzerAT scriptEnabled sollte von niemandem in einem Script verwendet werden. Das sind Datenpunkte die nur für die Benutzeroberfläche da sind!
Erstelle einen Datenpunkt unter JavaScript.0.schalteBeamer, den du dann im iot Adapter per Alexa schalten kannst.
Den Trigger stellst dann auf eben den Datenpunkt und benutzt dann die variable "value" (Alexa befehl an oder aus) den du dann weiterverarbeiten kannst.Was du mit "Datenpunkt auf der IP des Beamers" meinst habe ich bis heute nicht verstanden... Welcher Datenpunkt? Welcher Adapter hat den Datenpunkt erstellt? Was hat die IP damit zu tun?
-
Oder ganz ohne Skript...
- an/aus Befehl des Beamers im Broadlink Adapter anlernen
- In den Einstellungen der Instanz den State eintragen
- im iot/cloud Adapter als "smart Gerät" den state eintragen
Damit schaltet der Beamer (ein Gerät) ganz ohne Skript.
-
@thewhobox sagte in Beamer per Sprache ein/aus:
Was du mit "Datenpunkt auf der IP des Beamers" meinst habe ich bis heute nicht verstanden...
-
das versteh ich ja, aber es soll dann zwei scripte geben
Alexa -->Beamer TV Mode ein oder aus --> schaltet Beamer ein, Soundbar ein
Alexa -->Beamer Kino Mode ein oder aus --> schaltet Beamer ein, HiFi Verstärker ein -