Skip to content

Skripten / Logik

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

16.6k Themen 214.2k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    K
    so sieht es jetzt aus und läuft auch erstmal. // Garage + Mäher Steuerung const ROLLO = 'hm-rpc.0.OEQ0550361.1.LEVEL'; const MOWER_START = 'navimow.0.21EAB2545Y4281.remote.start'; const MOWER_STATUS = 'navimow.0.21EAB2545Y4281.status.state'; const TRIGGER = '0_userdata.0.Garage_Maeher_Start'; // ===== WLED ===== const wledOn = "wled.0.bcddc225fc96.on"; const wledPreset = "wled.0.bcddc225fc96.ps"; const wledBri = "wled.0.bcddc225fc96.bri"; // ===== PRESETS ===== const PRESET_ROT = 1; const PRESET_GRUEN = 2; const PRESET_WEISS = 3; // Trigger-Datenpunkt erstellen createState(TRIGGER, false, { name: 'Mäher mit Garagentor starten', type: 'boolean', role: 'button', read: true, write: true }); let running = false; let watcher = null; on({id: TRIGGER, change: "any", ack: false}, async function (obj) { if (obj.state.val !== true || running) return; running = true; setState(TRIGGER, false, true); // 1. Tor öffnen setState(ROLLO, 100); log("➡️ Tor öffnet"); // 🔴 WLED ROT (Blinken Preset 1) setState(wledOn, true); setState(wledBri, 255); setState(wledPreset, PRESET_ROT); // 2. Warten bis Tor komplett offen (2 Minuten) await wait(120000); // 3. Mäher starten log("🤖 Starte Mäher"); setState(MOWER_START, true); // 🟢 WLED GRÜN (Preset 2) setState(wledPreset, PRESET_GRUEN); // 4. Rückkehr überwachen if (watcher) unsubscribe(watcher); watcher = on({id: MOWER_STATUS, change: "ne"}, async function (state) { if (state.state.val === "isDocked" && state.state.ack) { log("🏁 Mäher ist zurück"); unsubscribe(watcher); watcher = null; // 🔴 Wieder ROT (Blinken) setState(wledPreset, PRESET_ROT); // 5. Warten bis Mäher in Garage (2 Minuten) await wait(120000); // 6. Tor schließen setState(ROLLO, 0); log("🔒 Tor schließt"); // 7. Zeitfenster prüfen (20–23 Uhr) const hour = new Date().getHours(); if (hour >= 20 && hour < 23) { // ⚪ Weiß setState(wledPreset, PRESET_WEISS); log("💡 WLED Weiß (Abendmodus)"); } else { // 🔌 AUS setState(wledOn, false); log("🌙 WLED aus"); } running = false; } }); }); Jetzt brauche ich nur noch ein Countdown für mein Button zum Starten der mir 120 Sekunden runterzählt bis der Mäher Los legt. Höttest du da eine Lösung noch für mich, wie ich das machen kann ?
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    J
    Hallo, ich habe folgendes Problem: Meine Rollos (HmIPw) fahren morgens alle hoch/ Abends alle runter. Wenn die Rollos komplett oben/ unten ist, funktioniert es. Sobald der Wert nicht 0 oder 100 ist, fahren die Rollos nicht runter/hoch. Ich habe bereits das größer/kleiner Zeichen benutzt, aber es will nicht funtionieren. Woran könnte es dann liegen? [image: 1774895130128-screenshot-2026-03-30-202157.png] [image: 1774895218874-screenshot-2026-03-30-202636.png]
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Themen
    13k Beiträge
    F
    Hallo ich habe ein Problem mit Nodered und Alexa Echo. Ich habe in Nodered die Wemo Emulation installiert und eine Wemo Steckdose emuliert um an einer Zigbeesteckdosenleiste einen Platz der Leiste zu schalten. "node-red-contrib-wemo-emulator" Das klappt auch wunderbar leider nicht länger als ein zwei Tage. Wenn ich dann den Echo der mit der emulierten Steckdose verbunden ist neu starte geht es wieder. Leider ist das sehr nervig. Hat schon mal jemand gehabt? Durch die Forumssuche habe ich leider nicht gefunden. Gruss Achim
  • Scriptsammlung Vol. 2

    Angeheftet Gesperrt
    3
    3 Stimmen
    3 Beiträge
    5k Aufrufe
    NegaleinN
    :exclamation:Achtung: Diese Scripts sind teils auch ungetestet bzw. nur vom Ersteller getestet worden. :exclamation: Blockly diverse Scripte Schimpfwortgenerator (BananaJoe, Nikolai Radke) Ein Schimpfwortgenerator ioBroker-Forum-Thread: Schimpfwortgenerator Witze aus API (mading) Ein Witzegenerator ioBroker-Forum-Thread: Witzegenerator Bilder mittels LLM ChatGPT Vision ananalysieren (David G.) Bilder mit ChatGPT ananalysieren ioBroker-Forum-Thread: Bilder mittels LLM ChatGPT Vision ananalysieren Visualisierung Agentdvr-Aufnahmen in der Visualisierung darstellen (David G.) Agentdvr-Aufnahmen anzeigen ioBroker-Forum-Thread: Agentdvr-Aufnahmen in der Visualisierung darstellen Trash HTML Widget VIS2 (skvarel) Trash HTML Widget VIS2 ioBroker-Forum-Thread: Trash HTML Widget VIS2 GitHub GitHub
  • Scriptsammlung Vol. 2 -- Diskussion

    Angeheftet
    67
    1 Stimmen
    67 Beiträge
    12k Aufrufe
    NegaleinN
    @Schimi sagte in Scriptsammlung Vol. 2 -- Diskussion: Wetter.com Forecast/Vorhersage erledigt :)
  • [Vorlage] Anwesenheitssimulation mit dauerhaftem Lernen

    javascript template security
    11
    1 Stimmen
    11 Beiträge
    395 Aufrufe
    J
    Und dann sehe ich auch z.B. das in dem DB Datenpunkt: "95": [ { "alias.0.Bad.Deckenlampe_Bad.ON": { "on": true, "bri": 100 }, "alias.0.Büro.Deckenlampe_Büro.ON": { "on": false }, "alias.0.Esszimmer.Deckenlampe_Esszimmer_1.ON": { "on": false }, "alias.0.Flur.Hue1_Decke.ON": { "on": true, "bri": 50 }, "alias.0.Küche.Deckenlampe_Küche.ON": { "on": false }, "alias.0.Schlafzimmer.Deckenlampe_Schlafzimmer.ON": { "on": false }, "alias.0.Wohnzimmer.Deckenlampe_Wohnzimmer.ON": { "on": false }, "alias.0.Wohnzimmer.Ikea_Stehlampe.ON": { "on": false }, "hue.0.Hue_Esszimmer_1": { "on": false }, "hue.0.Hue_Flur_1": { "on": false }, "hue.0.Hue_Küche": { "on": false }, "hue.0.Hue_Schlafzimmer": { "on": false }, "hue.0.Hue_Wohnzimmer": { "on": false }, "hue.0.Hue_go_Wohnzimmer_links": { "on": false }, "hue.0.Hue_go_Wohnzimmer_rechts": { "on": false }, "hue.0.Ikea_Stehlampe": { "on": false }, "hue.0.Hue_Bad": { "on": false }, "hue.0.Hue_Büro": { "on": false } } ] } Hier der Teil meiner Konfig: const LIGHTS: string[] = [ 'alias.0.Bad.Deckenlampe_Bad.ON', // <-- Trage hier alle Lampen ein, die 'alias.0.Büro.Deckenlampe_Büro.ON', // von der Straße aus sichtbar sind. 'alias.0.Esszimmer.Deckenlampe_Esszimmer_1.ON', 'alias.0.Flur.Hue1_Decke.ON', 'alias.0.Küche.Deckenlampe_Küche.ON', 'alias.0.Schlafzimmer.Deckenlampe_Schlafzimmer.ON', 'alias.0.Wohnzimmer.Deckenlampe_Wohnzimmer.ON', 'alias.0.Wohnzimmer.Ikea_Stehlampe.ON' ]; Es ist aber so, dass zum Zeitpunkt des Schreibens in den DP das Licht in der Küche und im Esszimmer an war. Dennoch sagen die Daten im DP etwas anderes. Liegt es an einer falschen Konfig von mir? Danke!
  • [gelöst]Lautstärke verändern mit Aquara Cube und Onkyo Amp

    5
    2
    0 Stimmen
    5 Beiträge
    52 Aufrufe
    J
    Ich habe den Fehler g[image: 1774804343972-bildschirmfoto-2026-03-29-um-19.10.27-resized.png] efunden, es war im Adapter limitiert, danke trotzdem
  • Auf Fehlermeldung im Log reagieren (gelöst)

    9
    0 Stimmen
    9 Beiträge
    127 Aufrufe
    G
    @paul53 Vielen DANK, hat geklappt :)
  • Bastellösung: Polestar Ladezustand via Tibber App API

    35
    10
    0 Stimmen
    35 Beiträge
    43k Aufrufe
    G
    Hallo, die Adapter-Lösung von @tombox läuft einwandfrei. Danke dafür!!! Allerdings ist das etwas am Thema dieses thread vorbei. Warum? Wie wir wahrscheinlich schon Alle erfahren mussten, ändert Polestar hin und wieder die API womit alle diese Bastellösungen wieder angepasst werden müssen. Das geht, je nach Lust, Laune und Zeit des jeweiligen Entwicklers 'mal schneller und auch 'mal langsamer, ganz selten auch gar nicht. Nicht falsch verstehen, das ist kein Vorwurf - es ist vollkommen klar das die Anpassung ein Hobby ist und ich bin jedem Profi dankbar der mir als DAU weiterhilft. Polestar macht ja leider keine Anstalten eine offizielle API anzubieten. Meine Erfahrung ist hier aber, dass die Tibber-API grundsätzlich seltener geändert wird. Deshalb hatte ich auf meinem System immer zwei Lösungen parallel am laufen - Polestar & Tibber. Sollte bei einer API keine sinnvollen Daten mehr kommen, wird automatisch auf die andere gewechselt. So habe ich eine, für mich ausreichende, Datensicherheit erreicht. Mittlerweile gibt es viele Lösungen die sich auf die Polestar-API stützen, aber seit Anfang 03/26 keine funktionierende Lösung für Tibber mehr. Ändert sich nun die Polestar-API versagen alle diese Lösungen gemeinsam. Ich habe leider bis dato keine Alternative gefunden und zum Analysieren der API und ein Script selbst schreiben fehlen mir die Kenntnisse. Lange Rede, wenig Sinn: hat/kennt einer eine Lösung für Tibber (oder was anderes, nicht Polestar) und könnte die bitte hier publizieren/verlinken?
  • [Vorlage] Automatisches Git-Backup für Skripte/Blockly

    javascript blockly
    5
    0 Stimmen
    5 Beiträge
    115 Aufrufe
    Meister MopperM
    @mrMuppet Ich empfehle, das Skript selbst in .gitignore zu setzen. Wenn es nämlich sich selbst aktualisiert - so ist es bei mir passiert - hat der js-controller es einfach gelöscht, weil er dachte, das gehört so. Seitdem spiegele ich meine Skripte in VS Code (geniale Erweiterung: ioBroker-javascript) und nutze für den Ordner ein lokales git. Mit der Erweiterung GitLens ist dann die Versionsverwaltung der Skripte ein Kinderspiel. Bei Bedarf kann man den Ordner mit einem privaten GitHub-Repo synchronsisieren.
  • Fußballergebnisse immer Live, ohne Konferenz. ;)

    Verschoben
    27
    1 Stimmen
    27 Beiträge
    4k Aufrufe
    icebearI
    @robson sagte in Fußballergebnisse immer Live, ohne Konferenz. ;): Genau, HA = Home Assistant Ich habe bei Github den Adapter direkt gefunden. Vllt genügt das schon als erste Doku: Ich hab das bei mir umgesetzt, zuerst mit der kompletten 1.BL und 2.BL und mit dem HA Adapter die ganzen Daten abgegriffen. Das Problem war allerdings und das beschreiben auch immer wieder die Football Nerds in den USA die die komplette NFL Season abbilden das das ganze sehr Ressourcen hungrig ist. Das kann ich auch bestätigen. An einem Spieltag der BL hat sich mein iobroker immer wieder aufgehangen (Synology NAS mit 16GB RAM). Deshalb hab ich das ganze Projekt mit der kompletten 1.BL und 2.BL und den Daten von HA nach iobroker wieder gecanceled. Ich hab jetzt nur noch meine Manschaft als TeamTracker Card mit Toralarm. Hier mal die DP's die von ESPN (HA) TeamTracker bereitgestellt werden: [image: 1773133226277-haf95-resized.png] Ich hab jetzt nur noch die TeamTracker Card die bei Spielbeginn auf meiner VIS Startseite angezeigt wird: [image: 1773133395206-team_tracker.png] und über ALEXA wird ein Sound abgespielt wenn ein Tor fällt. Der Tor-Alarm ist (bei mir) ca 1-2 min Zeitverzögert, das stört mich aber nicht so sehr, da das ja eh nur dafür ist wenn ich nicht live schauen kann und so trotzdem mitbekomme wenn ein Tor fällt.
  • [Vorlage] todoist.com To-Do-Listen Script für VIS

    Verschoben
    133
    2
    0 Stimmen
    133 Beiträge
    27k Aufrufe
    F
    danke für den Hinweis. Habe das Skript aber wieder zum laufen bekommen ;) Lösung waren einfach neue URLs: https://api.todoist.com/api/v2/projects https://api.todoist.com/api/v2/tasks
  • Alexa Shopping List mit Bring synchronisieren

    182
    0 Stimmen
    182 Beiträge
    39k Aufrufe
    mcBirneM
    @grrfield sagte in Alexa Shopping List mit Bring synchronisieren: @mcBirne Es ist zwar schon einige Zeit her, aber hast Du das Skript als TypeScript eingefügt? Die Fehlermeldungen sehen nach JavaScript aus. nein, das wars, danke für den Tipp!
  • Analogwerte an loxone übertragen

    Verschoben
    19
    0 Stimmen
    19 Beiträge
    6k Aufrufe
    A
    Hallo, Habs nun hin bekommen. Man muss in der Loxone Config beim Virtuellen Eingang den hacken bei nur Status Anzeige" entfernen. Was für mich erst mal unlogisch ist, da ich ja mit dem Eingang nur was Anzeigen will. Egal nun funktioniert es perfekt.
  • Anwesenheitscontrol basierend auf TR64 Adapter - Script

    Verschoben
    118
    1
    2 Stimmen
    118 Beiträge
    30k Aufrufe
    D
    @cephalopod Ja .. aktuell auf 8.21 .. ist aber schon eine Weile so
  • Verbesserung erfahren Blockly/Javascript/KI/AI

    48
    1 Stimmen
    48 Beiträge
    2k Aufrufe
    crunchipC
    @Meister-Mopper und weils interessant ist, was die verschiedenen KI´s so ausspucken Fehleranalyse & Ressourcen-Check Dein Script hat 1 kritischen Fehler und 3 Performance-Probleme, ist aber grundsätzlich solide aufgebaut. Kritische Fehler ❌ createState() fehlt komplett States wie Tagesverbrauch, Netzbezug etc. existieren beim ersten Start nicht → Script crasht mit "State not found". ioBroker erstellt States NICHT automatisch bei setState(). Ressourcenverschwendung Problem Impact Fix getState() in Schleife Blockiert 10-50ms bei jedem Trigger (4x/Sekunde = 200ms CPU-Last!) Cache in Variable speicherMax statisch Änderungen der Speichergröße erst nach Script-Neustart Trigger hinzufügen Tagesverbrauch ohne Cache Liest State bei jedem Update (360x/Stunde) Global cachen 7 setState() pro Trigger ~420 DB-Writes/Stunde bei 10s-Updates Akzeptabel, aber debounce möglich Formel-Validierung javascript hausverbrauch = pvPower + netPower - batPower Korrekt NUR WENN Victron-Konvention: batPower = +Laden (Energie geht rein), -Entladen (Energie kommt raus). Teste mit log("Bat: " + batPower) beim Laden/Entladen! ​
  • Bestandsliste für Filament

    2
    1 Stimmen
    2 Beiträge
    90 Aufrufe
    NegaleinN
    @Mirtl sagte in Bestandsliste für Filament: Vielen Dank schon mal. versuchs mit Hilfe von ChatGPT https://chatgpt.com/c/6989d273-c148-8333-83ce-d8e5a22ee001
  • Anwesenheitssimulation - Standalone-Version?

    3
    0 Stimmen
    3 Beiträge
    133 Aufrufe
    B
    Ich stelle mir das event. so vor. Ist mein erstes Projekt auf github. Das ist noch alles "Beta". https://github.com/Kenaschon/aws-anwesenheitssimulation Ist noch nicht getestet. Komme ich erst jetzt am WE dazu.
  • Timeout bei Event wieder stoppen, dynamische Instanz

    7
    0 Stimmen
    7 Beiträge
    179 Aufrufe
    S
    Und den Bug mit den counts habe ich noch gar nicht realisiert. In Java wäre das gegangenen :) ein zweites mal vielen Dank!
  • [HowTo] Script Sticky Notes (PostIt) für VIS und Telegram

    160
    7
    7 Stimmen
    160 Beiträge
    26k Aufrufe
    liv-in-skyL
    @Negalein ist alles so lange her - manchmal frage ich mich, ob ich das eigentlich gemacht habe :-)
  • Biowetter aus WetterOnline (wie Pollenflug)

    Verschoben javascript
    62
    1
    0 Stimmen
    62 Beiträge
    10k Aufrufe
    jvfleJ
    Vielen Dank für die zusätzliche Arbeit, die du dir extra gemacht hast. Die Anzeige funktioniert jetzt. BG
  • [gelöst] Funktion on({id: …. - Value Übergabe....?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    L
    verschoben auf später...
  • Schalter Skript zur mehrfach Nutzung (gelöst)

    13
    0 Stimmen
    13 Beiträge
    466 Aufrufe
    D
    Perfekt! Vielen Dank! Mit dem Events Datenpunkt geht's dann auch! Vielen Dank für die Geduld! Mit dem oben gepostet Skript hatte es auch mit der Funktion Switch funktioniert. Aber so ist es natürlich besser.

727

Online

32.7k

Benutzer

82.6k

Themen

1.3m

Beiträge