... bin gespannt.
Danke!
... bin gespannt.
Danke!
Der erste Button funktioniert nun doch.
War mein Fehler - ein falsches Zeichen im Script beim http-Request.
Ja, was soll ich sagen. Die Verzögerung ist da. 🤷🏻♂️
OK, also, funktioniert - teilweise.
Mit ausgeschaltetem Gateway funktionieren die Button 2, 3, und 4. Der 1. leider irgendwie nicht.
Und, das ganze Script läuft recht verzögert, Nach dem Tastendruck vergehen ca. 2 Sekunden bis zum eigentlichen Schaltvorgang.
Ich habe es auch auf einem Blu USB Gateway getestet - dort ebenfalls ca. 2 Sekunden Verzögerung.
fossiebaer hast Du eine Idee, warum das so ist?
Danke!!!
Ja, hab ich aktiviert.
Es läuft noch das Blu_Event Script, das funktioniert mit aktiviertem Gateway.
Wenn ich das gateway deaktiviere, läuft das dann noch?
Ich meine in Bezug auf das gepostete Script.
Der "Blue Wall Switch 4" funktioniert damit offenbar nicht.
Ach menno... Shelly und die Namensgebung...
Den hier meine ich:
Hallo, anbei ein Script damit der BLU4 auch ohne Cloud und Internet geht. Habe das Blu-Button-Script angepasst und es mit einer PlugPlusS getestet; funktioniert soweit. Das Script unterstützt pro Button Einzel-, Doppel-, Dreifach- und Long-Click. Man trägt dann max 3 Actions pro Click in das Script ein. Und natürlich die MAC-Adresse.
Moin,
Ich versuche das Script gerade mit einem "Wall Switch 4" zum Laufen zu bringen, leider bislang ohne Erfolg.
Arbeiten die Devices anders?
Danke!
Wo ist unser Script-Meister DeKat abgeblieben?
Das würde mich auch interessieren?!
OK, hab ich korrigiert.
Läuft jetzt. Hatte versehentlich auch ein Semikolon gelöscht.
Danke!
Ich nutze die Version 2.0, aber das hier nimmt den Button nicht.....
Was habe ich falsch gemacht?
//---Config---
let debug = false; // Switch it on and press the Blu device Button, to get the MacID of your Blu Device
let MacID1 = "3c:2e:f5:my:device:01"; //Blu Device MacID --> change it DW
let MacID2 = "3c:2e:f5:my:device:02"; //Blu Device MacID --> change it Button
//---Config---
//Filter Events
function Filter(event){
try{
let get= event.info;
if(debug && get && get.data && get.data.mac) print('\nBlu Device Triggered, MacID: -> ', get.data.mac,'\n'); // Debug output MacID
if(debug) print('|-----Full_Event_Objekt_Beginning-------|\n',event,'\n|-----Full_Event_Objekt_End-------|'); //Debug Output of full Event Objekt
if(get && get.data && get.data.gen === 'GBLE'){ //Filter for valid States and Blu Devices
//Do Stuff, Aktions ---> change it
if(get.data.mac === MacID1 && get.data.device_state === 'open') Shelly.call('Http.get',{url: 'http://192.168.xxx.xxx/do1',timeout: 5});
if(get.data.mac === MacID1 && get.data.device_state === 'closed') Shelly.call('Http.get',{url: 'http://192.168.xxx.xxx/do2',timeout: 5});
if(get.data.mac === MacID2 && get.data.buttonInput === 'single_push') Shelly.call('Http.get',{url: 'http://192.168.xxx.xxx/do3',timeout: 5});
}
}catch(e){print(e);}
}
//Add EventHandler
Shelly.addEventHandler(Filter);
Alles anzeigen
Moin,
Hmmm, soweit so gut, und nochmals 1000 Dank für Deine Mühe, aber mit diesen Zeilen als Ergänzung funktioniert der Button noch nicht...:
let MacID2 = "aa:bb:cc:dd:ee:ff"; //Blu Device MacID --> Button1
...
if(get.data.mac === MacID2 && get.data.deviceState === 'single_push') Shelly.call('Http.get',{url: 'http://192.168.xxx.xxx/do/my/stuff',timeout: 5});
Moin,
Vielen Dank für die ausführliche Erklärung. Hab das Prinzip auch soweit verstanden.
Zusammen mit den Zeilen aus Deinem Post #19 läuft das, vielleicht sogar einen Hauch schneller,
macht aber in der Praxis nicht wirklich Unterschied.
Eine Frage noch: In diesen Zeilen von Dir ( aus Post 19 )
Shelly BLU Door/Window & URL versenden
habe ich versucht, zusätzlich einen BluButton mit zu integrieren. Nach Zeile 3 habe ich eine eingefügt:
let MacID2 = "aa:bb:cc:dd:ee:ff"; //Blu Device MacID --> Button1
und bei den Events ( Do Stuff ) folgendes hinzu gefügt:
if(get.data.mac === MacID2 && get.data.deviceState === 'single_push') Shelly.call('Http.get',{url: 'http://192.168.xxx.xxx/do/my/stuff',timeout: 5});
Das funktioniert allerdings nicht. Wie müsste diese Zeile korrekt aussehen? Da ist bestimmt "deviceState" falsch, oder?
Danke Dir!
Moin,
Ich schau mir das gerade an, aber ich stehe irgendwie auf dem Schlauch.
Vielleicht verstehe ich da grundsätzlich was falsch....
ZitatAngenommen, du lässt mein Blu Events Script auf deinem Shelly laufen, dann könntest du die D/W Events in einen Zweiten Script wie folgt nutzen
Wie... "in einem zweiten Script" ???
Momentan habe ich EIN Script. Da steht alles drin.
Das lasse ich laufen, und im Abschnitt //______Config______ ist ein D/W und ein Button eigetragen.
Das läuft. Mit leichten Verzögerungen, aber alles brauchbar, und läuft.
Ich verstehe nicht, wieso ich jetzt 2 Scripte brauche? Wie muss man das machen?
Sorry für meine Verwirrung. Hmm, ich geh erstmal Schnee schieben.
Danke.
... muss ich mir mal in Ruhe anschauen.
Heute nicht mehr.
Aber Danke erstmal!!!
Der lokale Befehl kann bei mir nicht funktionieren, denn die URL zum Schalten ist in meinem Fall kein Shelly,
somit habe ich keine ID dafür.
Eine Sekunde Latenz habe ich ebenfalls.
Wenn das die "normale" Latenz ist, kann ich damit leben.
Letztendlich funktioniert das ja so recht gut.
Den Schreibfehler hatte ich schon gesehen...
OPEN will trotzdem nicht - nur CLOSE.
Ist das ne Einstellung am D/W?
---- Edit: Sorry, mein Fehler. Hab ein Zeichen zuviel entfernt.
Aber trotzdem ist da ordentlich Latenz drinnen.....
Danke Dir,
Interessant.
OPEN funktioniert nicht, CLOSE funktioniert
Allerdings: Mit sehr viel Latenz. 2-3 Sekunden ca.
Darin steht:
* This script DOESN'T execute actions, only emit events.
Abgesehen davon gibt es ja für verschiedene BLE Devices auch verschiedene Scripts.
Also, anders gefragt:
Wo genau finde ich ein Script, welches die Möglichkeit bietet, http-Requests zu versenden,
wenn man den Door / Window öffnet und schliesst?
Na dann brauchst Du doch nur ein Skript auf einem Shelly laufen lassen, dass die http-Request passend zum Event versendet.
Wimre sogar direkt in der Skriptauswahl im WEB-UI als Vorlage vorhanden.
Moin,
welches Script ist denn das? Hab die selbe Konstellation, und finde da kein Script, wo ich eine URL eintragen kann.
Für den Blu Button hatte ich was gefunden, aber nicht für den Door / Window....
Danke!
OK, dann muss ich mich auch nicht wundern, wenn der returned nur 0.0 zeigt.
Gut, dann muss ich die Werte in PHP berechnen.....
Danke!