NEWS
[Aufruf] Welche guten JavaScripts setzt ihr ein?
-
Vorlage für den Xiaomi Aqara Magic Cube
//Würfel - Hier beim mir über Zigbee2mqtt angebunden on({id: 'mqtt.0.zigbee2mqtt.Wuerfel'}, function (obj) { var sschalter1 = obj.state.val; //shake if (sschalter1.indexOf('shake') > 0 ) { } //flip90 if (sschalter1.indexOf('flip90') > 0 ) { } //flip180 if (sschalter1.indexOf('flip180') > 0 ) { } //slide if (sschalter1.indexOf('slide') > 0 ) { } //tap if (sschalter1.indexOf('tap') > 0 ) { } //fall if (sschalter1.indexOf('fall') > 0 ) { } //rotate_left if (sschalter1.indexOf('rotate_left') > 0 ) { } //rotate_right if (sschalter1.indexOf('rotate_right') > 0 ) { } });
-
-
Danke für eure weiteren Scripts
Habe ich oben alle integriert.
Muss dann noch mal besser gliedern...
-
Find ich ne gute Idee, dachte heute schon drüber nach, ob ich meine Skripte mal posten soll, was ich hiermit tue!
Für das folgende Skript benötigt man den BLE-Adapter mit 'xiaomi, mi-flora' als aktive Plug-ins. Die jeweiligen Werte können in der Miflora-App entnommen werden, wobei hier aktuell nur die Minimalwerte geprüft werden. Mit Copy-Paste und Min durch Max austauschen lässt es sich allerdings leicht modifizieren. Alternativ/Zusätzlich kann auch eine Ausgabe über Alexa gemacht werden, wenn man es nicht per Telegram will. Das Skript ist so programmiert, dass man alle vier Stunden eine Benachrichtigung bekommt, sollte man an der Pflanze nichts geändert haben.
Ich habe noch einige Skripte mehr geschrieben, die allerdings deutlich komplizierter und daher nicht für JS-Anfänger geeigenet sind. Bei Interesse poste ich sie allerdings trotzdem gern.
-
Eine Scriptbibliothek anzulegen, ist eine super Idee!
Dann müsste der Beitrag aber auch angepinnt werden, dass man ihn bei Bedarf auch leicht findet.
Und vielleicht die Überschrift in Scriptbibliothek ändern?
Und dann auch für Blockly-Scripte.
-
@Tictactoo Immer her damit.
-
@Mic sagte in [Aufruf] Welche guten JavaScripts setzt ihr ein?:
ioBroker-Forum-Thread: Windows-Steuerung
Software GetAdmin: Software GetAdmin (credits to Vladimir Vilisov)
Der zweiter Link funktioniert nicht.
-
-
Danke für eure weiteren Scripte, übernehme ich alsbald oben.
@CruziX bei mir geht der Link https://blog.instalator.ru/archives/47 wunderbar
-
@Tictactoo Kann man das mit der Stehlampe nicht einfacher machen und einfach auf Änderung des IOT Gerätes prüfen?
Also wenn das Gerät eingeschaltet wurde, schauen welche Seriennummer in der Historie steht. Somit müsste man nichts in der Summary parsen.
Das Parsen ob an oder aus etc übernimmt ja Alexa schon beim Schalten des IOT Gerätes -
@CruziX Darüber hab ich bisher eigentlich nicht nachgedacht, da für mich das "Fake"-IOT-Gerät nur dafür da ist, das Alexa nicht immer antwortet, dass es mehrere Geräte gibt. Was ich dazu aber sagen kann ist folgendes: In der ersten Version hatte ich das Ganze tatsächlich noch über die Summary geprüft. Allerdings war da öfter das Problem, dass die Echos in anderen Räumen auch auf den Alexa-Ruf reagiert haben, wenn alle Türen in der Wohnung offen standen und ich/wir laut gesprochen haben. Es kam dann vor, dass es in einem anderen Raum die Stehlampe geschaltet wurde, statt in dem Raum, in dem wir es wollten. Deshalb hab ich mir dann das History-JSON-Objekt gegriffen und es darüber gelöst, weil da Befehl und Seriennummer immer ein Match sind. Könnte mir vorstellen, dass so ein ähnlicher Fall auch passieren könnte, wenn man es versucht über das IOT-Gerät zu lösen.
-
-
Hallo Mic,
die Skriptsammlung ist eine super Idee.
Letzendlich haben wir ja alle ein gemeinsames Ziel und ähnliche Anforderungen an eine Automatisierung.Ich würde dich bitten das "Time Of Day Desing Pattern" zu übernehmen.
"Einfache globale Zeitschaltuhr mit Tageszuständen (Morgens, Mittags, Nachmittag, Spätnachmittag, Abends, Nacht, Bettzeit)"https://forum.iobroker.net/topic/30457/time-of-day-design-pattern
VG
-
Hallo Gemeinde,
ich habe vielleicht auch was nützliches für den ein oder anderen... Hier ein Script welches ich nutze um meine Osram Lampen zu resetten. Das Timing ist, zumindest für mich , wirklich tricky. In Zeile 35 übergibt man einfach der Funktion "OsramReset" den State einer Steckdose. Ich nutze dazu eine Zigbee Steckdose. Dazu einfach ein kurzes Kabel mit E27 Fassung und los gehts
function Sleep(milliseconds) { return new Promise(resolve => setTimeout(resolve, milliseconds)); } async function OsramReset(Target) { var Count = 0 var FirstRun = true; while(Count <5) { Count++ if(getState(Target).val == true && FirstRun) { console.log('Schalte Lampe für den Reset initial aus und warte 10 Sekunden') setState(Target,false); FirstRun = false await Sleep(10000) } console.log(Count + '. mal an für 3 Sekunden'); setState(Target,true); await Sleep(3000); console.log('Aus für 5 Sekunden'); setState(Target,false); await Sleep(5000); } setState(Target,true); console.log('Wenn die Lampe in den nächsten Sekunden blinkt, war der Reset erfolgreich'); return; } OsramReset('zigbee.0.7cb03eaa0a02fa25.state');
-
@BoBeRzE Vielleicht doofe Frage: Wofür braucht man einen Reset der Lampe?
-
naja, wenn man die Lampe neu anlernen will. Ich bin derzeit viel am basteln und und muss regelmäßig meine Geräte neu anlernen. Erst nach dem Reset befinden sich die Lampen wieder im "Pairing-Modus"
MfG BoBeRzE
-
Dieses Skript Räumt in den Räumen und Funktionen auf.
Die Funktion cleanEnum nimmt 2 Parameter (true, oder false) an.
Der erste ist zum Löschen von nicht mehr existierenden Datenpunkten, der zweite zum Löschen von Doppelten Datenpunkten in der Aufzählung.Wenn beide Parameter mit false übergeben werden, passiert nichts, aber es kommen dennoch Meldungen, wenn was gefunden wurde.
https://github.com/xCruziX/ioBroker-Clean-Enums/blob/master/CleanEnums.js
-
Danke euch allen für die Beteiligung! Ich habe alle ergänzt.
Credits an (seit letzter Änderung, ich hoffe ich hab keinen vergessen):
@Tictactoo
@liv-in-sky
@BoBeRzE
@CruziXLangsam wird das hier umfangreich
Ich tendiere nun dazu, weiter zu separieren:
- A) "umfangreiche und gepflegte Scipts": regelmäßiges Updates, gibt eigenen Forum-Thread für User-Feedback, Script wird gepflegt. Auch: Script auf Github veröffentlicht.
- B) "einfachere" Scripts: einmalig gepostet im Forum, spezieller Use-Case, etc.
Also zwei Kategorien. Gerade Kategorie B wäre dann auch ggf. interessant für zukünftige Adapter-Umsetzung.
Ansonsten:
Was mich noch stört: einige der Scripts oben sind völlig ungetestet. Ich kann diese aus Zeitgründen oder/oder mangels Hardware auch nicht alle reviewen und testen.
Daher auch die Idee die Unterscheidung A/B als Überlegung, wobei "A" dann auch als hinreichend getestet betrachtet wird, sieht man ja an der User-Resonanz. -
Ich habe die Kategorisierung (A/B) oben entsprechend umgesetzt.
Sollte damit hoffentlich übersichtlicher und einfacher sein.
Für "Visualisierung" in Kategorie A brauchen wir noch mehr Unterkategorien... Vorschläge gerne willkommen, nur so 5-7 Oberbegriffe sollten reichen, damit Unterkategorien Sinn ergeben. Ist nur alles kunterbunt derzeit. -
@Mic
Kannst du vielleicht auch Blockly Scrips in die Liste aufnehmen?