NEWS
Funktionen und Räume stärker nutzen
-
Hi,
ich möchte gerne die Aufzählungen / Gruppierungen von Funktionen und Räume besser nutzen.
Zwei Beispiele:
1. Überwachte WLAN Geräte. Es gibt bestimmt WLAN Geräte, wo ich per Telegram mitbekommen, ob die Geräte mit dem WLAN verbunden sind, sprich an. Im Moment habe ich dafür ein Blockly Script was ich erweitere, wenn es neues Gerät hinzukommt. Ich würde dafür gerne die von mir gebaute Gruppe unter Funktionen nutzen.
2. Lichsteuerung: Ich habe ein Skript, was über erkennt, in welchen Raum (spricht welcher Echo) den Befehl Licht erhalten hat und über das Skript auch klar ist, welches Licht dann geschaltet werden soll. Dafür würde ich gerne den Echo + den Schalter in einen Raum werfen.
Ich habe für die Beispiele Screenshots angehangen, damit man versteht, wie das ganze aktuell funktioniert und wie ich es gerne nutzen möchte. Im Moment muss ich halt ständig an den Skripten rumfrickeln und Copy&Paste machen, damit ich eine neues Licht bzw. ein neues WLAN-Gerät steuern kann.
Ich würde sehr gerne weiter Blockly nutzen, da die Scripte besser lesbar sind. Ich habe allerdings auch schon einige JavaScripte im Einsatz. Was meint ihr: Lässt sich das nur mit JavaScript oder auch mit Blockly lösen? Habt ihr evtl. CodeSchnipsel?
8437_blocky_skript_lichsteuerung.png
8437_r_ume.png
8437__berwachte_wlan_ger_te.png
8437_funktionieren.png -
2. Lichsteuerung: Ich habe ein Skript, was über erkennt, in welchen Raum (spricht welcher Echo) den Befehl Licht erhalten hat und über das Skript auch klar ist, welches Licht dann geschaltet werden soll. Dafür würde ich gerne den Echo + den Schalter in einen Raum werfen. `
Hi Mitch,
ich nutze ausschließlich Javascript, verstehe daher vielleicht die Fragestellung nicht.
Was meinst Du mit "den Echo + den Schalter in einen Raum werfen"?
Ich sag halt bei mir z.B. im großen Wohnzimmer zur Alexa "Licht an" (oder drücke den Lichtschalter, hinter dem ein Shelly 1 verbaut ist), dann schaltet sie 4 LED-Gruppen (via Magic Light) sowie etliche Philips-Hue-Birnen an, und zwar voreingestellt nach "Szene". D.h. sage ich das um 13:00 Uhr, dann kommt ein anderes Licht (eher kalt) als Abends (warm) mit jeweils unterschiedlicher Helligkeit.
Meinst Du so etwas?
-
Na ja,
ich bin bei Blockly schon einige Male an Probleme gestossen, weil ich dort nicht mit Platzhaltern, nur mit Objekten arbeiten kann. Ich kann z.B. nicht per Blockly Script eine Deviceliste unter zigbee.0 abfragen und dann sagen gehe alle Zigbee-Devices durch und mache etwas, wenn Du auf darunter opened=true findest. Das Script würde ja so ziemlich kurz werden, unter Blockly würde ich alle Abfragen gegen jedes einzelne Device über einen Trigger abfragen und dann etwas tun. Praktisch zwar immmer das selbe, aber so werden meine Blockly Script sehr groß.
Geht das unter Blockly, oder eher nicht.
Zu deiner zweiten Frage:
Im Moment erkennt hierüber das Script, dass ich immer Wohnzimmer bin und schaltet dann das Device im Skript an oder aus. Wenn ich das Echo-Device und den Schalter in einem Raum werfen würde (unter Aufzählungen), dann könnte das Script vielleicht sehr kurz werden. z.B. er schaut nacht in welchem Raum das Echo-Device steht und sendet dann an das Licht-Element zu schalten. Der Vorteil ist dann, ich brauche dass Script bei einem neuen Raum nicht mehr anfassen. Ich würde nur einen neuen Raum einpflegen und das Echo-Device und das Licht-Element zu Raum zuordnen.
Da das Javascript (oder evtl. doch Blockly) dan universell unter Räumen nachsieht, braucht das Script nicht mehr angepasst zu werden.
-
Ok, jetzt verstehe ich Deine Frage, sorry, hattest eigentlich oben schon gut erklärt.
Zu Blockly können sicherlich andere deutlich besser helfen.
Mit "Aufzählungen" habe ich bislang auch noch nicht gearbeitet, kann daher da auch nicht weiter helfen.
Verstehe aber absolut Deine Fragestellung, würde es mit den "Aufzählungen" deutlich einfacher machen, ohne dass man immer Anpassungen vornehmen muss. Muss ich mal gelegentlich damit beschäftigen.
Daher sollen bitte andere hier ran und Dir helfen
-
Habe nicht alles gelesen, zur Frage geht das mit blockly : grundsätzlich ja den auch in blockly kan man mit Javascript arbeiten dafür gibt es eine Funktion.
Also was nicht mit blockly geht nimmt man nen ausstapser nach JavaScript und gibt die Werte zurück an Blockly
Sent from my iPhone using Tapatalk
-
Also soweit ich das jetzt durch kurze suche herausfinden konnte ist das mit Blockly nicht möglich.
Mit JS hab ich etwas in der Art realisiert für Abwesenheit. Da wird alles was in der Aufzählung Anwesenheit ist abgeschaltet.
Hab gerade kein Zugriff darauf, aber du brauchst $ - Selector und for in.
Hier mal der Link zur Funktionsbeschreibung des Selector: http://www.iobroker.net/docu/?page_id=5 … 1_Selector
Gesendet von meinem HTC U11 mit Tapatalk
-
Wieso ? Man kann doch hetEnum per JavaScript Abfrage und in einer function zurückgeben
Sent from my iPhone using Tapatalk
-
Ja schon aber mit selector kann man auch gleichzeitig alle Objekte subscriben. Er möchte ja auf die Änderung bestimmter Objekte reagieren ohne jedesmal im Skript festlegen zu müssen welche Objekte genau das sind.
Bei dieser Methode muss nur das Skript neu gestartet werden wenn ein neuer Auslöser dazu kommt.
Das schien mir die Aufgabenstellung zu sein.
Die Verarbeitung der daraus resultierenden Information ist dann der Zweite Schritt.
Gesendet von meinem HTC U11 mit Tapatalk
-
Auch Dan könnte man doch die Funktion des selectors beim Script Start ausführen und das Resultat als Variable im Trigger verarbeiteten oder hab ich jetzt nen Denkfehler zur blockly Logic im Vergleich mit Javascript?
Ich würde den selector als Funktion bauen in blockly und daraus mit Rückgabe die gewünschte Routine auslösen.
Hmm alles Theorie muss Mal testen sollte aber so gehen
Sent from my iPhone using Tapatalk