NEWS
[Aufruf] Welche guten JavaScripts setzt ihr ein?
-
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.
-
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.
@Tictactoo Immer her damit. :+1:
-
Hi,
wie wäre es, wenn wir die hier in der ioBroker-Community enstandenen JavaScripts entsprechend sammeln und die Liste entsprechend pflegen?
Voraussetzung für die Aufnahme in dieser Liste: Einfach verwendbar, auch ohne wirklicher JavaScript-Kenntnisse. Und entsprechender Use-Case vorhanden, der nicht allzu individuell ist.
Nun seid ihr dran:
Bitte postet Links zu Scripts, die hier aufgenommen werden sollten. Eine Begründung dazu, also warum aufnehmen, wäre auch noch gut. Danke!
Bitte am besten immer Link zum Original-Script hier im Forum, falls ihr Scripts hier direkt postet.
P.S. Weitere interessante Links
- ioBroker JavaScript-Functions: Dokumentation
- Hilfreiche ioBroker JavaScript-Funktionen
- javascript.info: Gutes JavaScript-Tutorial
Zu den Kategorien
Scripts der Kategorie A erfüllen Folgendes:
- Der Ersteller pflegt regelmäßig das Script
- Es gibt einen Forum-Thread für User-Feedback, der verlinkt ist.
- Optional, jedoch gewünscht :-) : das Script ist auf Github veröffentlicht und versioniert.
Gerade Scripts der Kategorie A sind auch potentielle Kandidaten für die Umwandlung in einen neuen Adapter.
Scripts der Kategorie B sind alle restlichen Scripts, die diese Kriterien nicht erfüllen. Diese sind dennoch einfach verwendbar ohne tiefer JavaScript-Kenntnisse und es ist ebenso ein entsprechender Use-Case vorhanden, der nicht allzu individuell ist.
Achtung: Scripts der Kategorie B sind nicht unbedingt durch mehrere Anwender getestet worden, sondern wurden teils einfach ohne näherer Prüfung hier übernommen!:heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign:
Scripts Kategorie A
:heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign:
Anwesenheit
Bewegungsmelder
Heizung
Multimedia
System
Visualisierung
Windows
:heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign:
Scripts Kategorie B
:heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign:
Im Gegensatz zu Scripts der Kategorie A sind diese Scripts hier teils nur einmalig veröffentlicht worden, nicht unbedingt regelmäßig vom Ersteller gepflegt/aktualisiert und es gibt nicht unbedingt einen Forum-Thread für User-Feedback für das Script.
Achtung: Diese Scripts sind teils auch ungetestet bzw. nur vom Ersteller getestet worden.
Alexa
(Weitere Alexa-Scripts siehe auch unter "Kategorie A - Visualisierung")
Bewegungsmelder
Hardware generell
System
Telegram, Alarm
Visualisierung
Zeitschaltuhr
@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.
-
@Tictactoo Immer her damit. :+1:
-
@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 -
@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 :confounded: , 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'); -
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 :confounded: , 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'); -
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 :sunglasses:
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. -
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. -
@locito09 sagte in [Aufruf] Welche guten JavaScripts setzt ihr ein?:
Kannst du vielleicht auch Blockly Scrips in die Liste aufnehmen?
Hi,
ich stehe mit Blockly auf "Kriegsfuß" :grin: Nein, im Ernst: Blockly finde ich toll für Leute mit wenig/keinen JavaScript-Kenntnissen, man kann sich super schnell was zusammen klicken. Aber gerade für umfangreiche Umsetzungen ist es meines Erachtens nicht pflegbar und wird dann schnell unübersichtlich.Deshalb habe ich aber als Voraussetzung oben geschrieben:
Einfach verwendbar, auch ohne wirklicher JavaScript-Kenntnisse.
Jedes Script sollte also einfach auch ohne wirklicher Javascript-Kenntnisse konfigurierbar sein, so der Anspruch. Wenn du da wo hängst und nicht weiter kommst:
- Im jeweiligen Support-Thread fragen, wenn es diesen gibt (ist jeweils oben verlinkt).
- Gibt es keinen Support-Thread: Mach einfach einen neuen Beitrag auf, aussagekräftiger Titel, Link auf das Script, zeige was du bislang konfiguriert hast, und dann wo du nicht weiterkommst.
Falls wer dennoch eine Blockly-Liste wünscht, bitte gerne das direkt selbst übernehmen und einen ähnlichen Thread wie diesen hier für Blockly aufmachen und entsprechend zusammentragen. :sunglasses:
-
https://github.com/Nahasapeemapetilon/MyTelegramMenu
Thread zum Skript:
https://forum.iobroker.net/topic/19838/telegram-men%C3%BC-dynamisch-aus-aufz%C3%A4hlung-generierenSkript um Aufzählungen in ein Telegrammenü umwandeln und zu steuern
-
https://github.com/Nahasapeemapetilon/MyTelegramMenu
Thread zum Skript:
https://forum.iobroker.net/topic/19838/telegram-men%C3%BC-dynamisch-aus-aufz%C3%A4hlung-generierenSkript um Aufzählungen in ein Telegrammenü umwandeln und zu steuern
Klingelscript mit folgenden Funktionen:
Beim Klingeln wird
- das Telefon an der Fritzbox per tr064 Adapter angerufen
- Alexa lauter gestellt, Besucheransage gemacht, leiser gestellt
- VIS umgeschaltet auf das Live Kamerabild für 60 Sekunden
- Mit der Türkamera 4 Bilder zeitversetzt aufgenommen
- Zwei der aufgenommenen Bilder an zwei verschiedene mailadressen versendet
- Die Bilder im ioBroker verschoben damit sie in VIS nutzbar sind
Zusätzlich ist eine Sperre eingebaut die verhindert das ein Gast durch mehrfaches drücken des Klingeltasters das Script stoppt.
Benötigt werden:
- tr064 Adapter
- emailadapter