Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Themen 79.2k Beiträge

NEWS

  • Taupunkt-Lüftung

    77
    0 Stimmen
    77 Beiträge
    6k Aufrufe
    tiobbT
    @paul53 Also besser den Lüfter laufen lassen, alles klar. Ein wenig regeln könnte man das also nur über die Taupunktdifferenz im Script?
  • werte umschreiben wenn

    8
    0 Stimmen
    8 Beiträge
    260 Aufrufe
    AsgothianA
    @paul53 Um Fehlermeldungen zu verhindern würde ich da aber dann noch sicherstellen das der Index die Liste nicht verlassen kann: [image: 1756023402330-screenshot-2025-08-24-at-10.16.36.png]
  • Wie Spannungsschwankungen erkennen?

    7
    1
    0 Stimmen
    7 Beiträge
    388 Aufrufe
    S
    @asgothian sorry... hatte den Baustein "Betrag" nicht gesehen.
  • 2 Skripte an / aus schalten über Vis (gelöst)

    6
    1
    0 Stimmen
    6 Beiträge
    337 Aufrufe
    DuffyD
    @paul53 Und schoh gehts. Danke für deinen Support. LG Duffy
  • Blockly-Ersatz für BWM "Time No Motion"?

    18
    0 Stimmen
    18 Beiträge
    813 Aufrufe
    D
    @asgothian said in Blockly-Ersatz für BWM "Time No Motion"?: Skript-Intern: Variablen. Skript-übergreifend; Datenpunkte Das hoffe selbst ich behalten zu können. Danke
  • Aqara Fensterkontakt am Gefrierschrank.Meldung per email

    Verschoben
    15
    0 Stimmen
    15 Beiträge
    707 Aufrufe
    K
    @paul53 stimmt
  • Steuerung Zendure Solarflow 800Pro

    2
    1
    0 Stimmen
    2 Beiträge
    238 Aufrufe
    C
    @daniel-8 Hey Daniel, hast du den SF800 Pro nur per MQTT mit dem ioBroker verbunden oder nutzt du den Adapter? https://github.com/nograx/ioBroker.zendure-solarflow Funktioniert es per MQTT gut? Werden die Daten dann lokal per WLAN vom SF800 Pro geholt? Die App funktioniert trotzdem noch? Klappt die 0-Einspeisung automatisch oder muss man da selber ein Blockly oder so bauen? Danke, Grüße Christoph
  • [gelöst] Radar2 - kein Statuswechsel bei Wechsel WLAN

    12
    0 Stimmen
    12 Beiträge
    630 Aufrufe
    Z
    @crunchip VIELEN DANK! Die ersten Tests sehen gut aus.
  • Ladestatiot Abschalten bei Wert X

    17
    1
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    paul53P
    @sleepless135 sagte: Leider schaltet das Script alles nach denn 45 Sekunden wieder ab. Dein Grenzwert für "stop timeout" ist zu hoch. Ich hatte 260 vorgeschlagen.
  • Steuerung Heizstab per PV und Warmwasser-Temperatur

    9
    1
    0 Stimmen
    9 Beiträge
    314 Aufrufe
    Dani el PotrancoD
    @paul53 Oh man, ja klar. Der untere Teil war's. Ich.... Vielen lieben Dank. Das autom. Einschalten klappt jetzt schon prima. Edit: Das autom. Ausschalten hat auch prima geklappt. Perfekt. Herzlichen Dank für den Support.
  • [gelöst]Heizstabsteuerung mit PV mit Speicher

    Verschoben
    46
    3
    0 Stimmen
    46 Beiträge
    5k Aufrufe
    J
    @paul53 alles klar, werde ich probieren, dankeeee
  • Blockly-Zeitplan Wochentag / Wochenende

    4
    1
    0 Stimmen
    4 Beiträge
    264 Aufrufe
    paul53P
    @christobal0815 sagte: Das Skript läuft zu jeder vollen Stunde Das Skript läuft täglich um 6:45 Uhr und um 8:45 Uhr. Die Prüfung des Wochentages bestimmt, zu welchem Zeitpunkt die Nachrichten gesendet werden. @christobal0815 sagte in Blockly-Zeitplan Wochentag / Wochenende: Ist es „Ressourcenschonender“ zwei Skripte zu erstellen mit Cron Mo - Fr und Sa/So oder die von dir vorgeschlagene Variante Die vorgeschlagene Variante ist Ressourcen schonender, aber weniger flexibel. Noch weniger Ressourcen benötigt folgende Version: [image: 1754513598495-blockly_temp.jpg]
  • [gelöst] Datenpunkte auslesen als Tabelle im VIS darstellen

    5
    0 Stimmen
    5 Beiträge
    418 Aufrufe
    H
    @oliverio Auch dir herzlichen Dank. Versuche ich auch. Bin gespannt 😊
  • Variablen innerhalb des Scriptes definieren *gelöst*

    10
    0 Stimmen
    10 Beiträge
    579 Aufrufe
    G
    @issi sagte in Variablen innerhalb des Scriptes definieren: /** * Haustür-Lampensteuerung: * - Nur bei Dunkelheit: Beim Öffnen der Tür wird die Hue Außenlampe auf 100% gesetzt. * Dabei wird der vorherige Helligkeitswert gespeichert. * - Beim Schließen: Nach 2 Minuten wird der vorherige Wert wiederhergestellt. * - Entprellung, Schutz gegen Überschneidungen und Logging. * - Nur der persistente State wird bei Bedarf erstellt; andere States müssen existieren. * - Gespeichert wird als number mit -1 = "kein Wert gespeichert" */ // === Konfiguration / Konstanten === const doorSensor = 'alias.0.Sensor Haustür.opened'; // Tür geöffnet/geschlossen const hueDoorLevel = 'hue.0.Haustür.level'; // Hue Außenlampe Level const savedLevelState = 'javascript.0.Aussenlampe_Zustand'; // Persistenter interner Speicher (-1 = leer) // === Robustheits-Einstellungen === const DEBOUNCE_MS = 2000; // Entprellzeit in ms let busy = false; let lastEventTime = 0; // Logging ein/aus const enableLogging = true; function logInfo(msg) { if (enableLogging) log(`[Haustür-Script] ${msg}`, 'info'); } function logWarn(msg) { if (enableLogging) log(`[Haustür-Script] ${msg}`, 'warn'); } // === Helfer === // Prüft, ob das Level eine valide Zahl zwischen 0 und 100 ist function isValidLevel(lvl) { return typeof lvl === 'number' && lvl >= 0 && lvl <= 100; } // Prüft, ob es gerade dunkel ist (also NICHT zwischen sunrise und sunset) function isDark() { return !compareTime(getAstroDate('sunrise', undefined, 0), getAstroDate('sunset', undefined, 0), 'between', null); } // === Persistenten State sicherstellen === if (!existsState(savedLevelState)) { createState(savedLevelState, -1, { read: true, write: true, name: 'Gespeichertes Haustür-Level vor Änderung', role: 'level', type: 'number', def: -1, min: -1, max: 100 }); logInfo(`State "${savedLevelState}" (number mit -1 als Leerwert) wurde angelegt.`); } // === Hauptlistener auf Tür-Statusänderung === on({ id: doorSensor, change: 'ne' }, async (obj) => { const now = Date.now(); // Entprellung: zu schnelle Folgetrigger ignorieren if (now - lastEventTime < DEBOUNCE_MS) { logInfo('Event verworfen wegen Entprellung.'); return; } lastEventTime = now; // Schutz gegen parallele Ausführung if (busy) { logWarn('Übersprungen: Script ist noch in Bearbeitung.'); return; } busy = true; try { const isOpen = obj.state.val === true; const stored = getState(savedLevelState)?.val; // -1 = leer const currentLevelObj = getState(hueDoorLevel); const currentLevel = currentLevelObj?.val; if (isOpen) { logInfo('Tür geöffnet erkannt.'); if (isDark()) { logInfo('Es ist dunkel – Lampenstatus wird angepasst.'); // Vorheriges Level nur speichern, wenn noch nichts gespeichert ist und aktueller Level gültig if (stored === -1 && isValidLevel(currentLevel)) { setState(savedLevelState, currentLevel, true); logInfo(`Vorheriges Level gespeichert: ${currentLevel}`); } else if (stored !== -1) { logInfo(`Vorheriger Level war bereits gespeichert: ${stored}`); } else if (!isValidLevel(currentLevel)) { logWarn('Kein gültiger aktueller Level zum Speichern vorhanden.'); } // Hue-Lampe auf 100 setzen if (existsState(hueDoorLevel)) { setState(hueDoorLevel, 100); logInfo('Haustür-Lampe auf 100 gesetzt.'); } else { logWarn(`State "${hueDoorLevel}" existiert nicht. Kann Lampen-Level nicht setzen.`); } } else { logInfo('Es ist Tag – keine Änderung an der Lampe.'); // nichts tun bei Tageslicht } } else { logInfo('Tür geschlossen erkannt.'); if (stored !== -1) { if (existsState(hueDoorLevel)) { logInfo(`Haustür-Lampe wird in 2 Minuten auf gespeicherten Wert (${stored}) zurückgesetzt.`); setStateDelayed(hueDoorLevel, stored, 120000, false); } else { logWarn(`State "${hueDoorLevel}" existiert nicht. Kann Lampen-Level nicht zurücksetzen.`); } // Gespeicherten Level zurücksetzen setState(savedLevelState, -1, true); logInfo('Gespeicherter Level danach gelöscht.'); } else { logInfo('Kein gespeicherter Level vorhanden – nichts zurückzusetzen.'); } } } catch (e) { logWarn(`Fehler im Script: ${e.message}`); } finally { busy = false; } }); 1000 Dank. Scheint zu laufen.
  • Kurzzeitdifferenz in Blockly berechnen

    6
    1
    0 Stimmen
    6 Beiträge
    270 Aufrufe
    HomoranH
    @paul53 DANKE!
  • mit Blockly HTML Code in Datenpunkt schreiben

    3
    0 Stimmen
    3 Beiträge
    182 Aufrufe
    T
    @asgothian :+1: Danke
  • Zugangsgeschützte API-Schnittstelle auslesen mit Blockly

    78
    3
    0 Stimmen
    78 Beiträge
    9k Aufrufe
    David G.D
    @schnipsel71 sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly: Wie kann ich die Zugangsdaten über den Header übergeben? @haus-automatisierung sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly: @schnipsel71 Mit Blockly aktuell gar nicht Ist das irgendwann geplant? Hätte es schon ein paar mal brauchen können. Grad vermisse ich es nochmal ^^.
  • Pflanzenbewässerung "hüpft" immer wieder auf "Falsch"

    Verschoben
    13
    3
    0 Stimmen
    13 Beiträge
    703 Aufrufe
    I
    @Codierknecht Danke für die super Erklärung @paul53 ich hab es jetzt so eingerichtet - ich werde es mal beobachten - danke! :)
  • Hilfe bei script Steuerung

    13
    1
    0 Stimmen
    13 Beiträge
    515 Aufrufe
    M
    @paul53 sagte : Weil der sonst-Zweig nur nachts (nicht von 7 bis 22 Uhr) ausgeführt wird. Ah okey
  • (Gelöst) Geräte in bestimmten Zeiten laden.

    33
    4
    0 Stimmen
    33 Beiträge
    2k Aufrufe
    andre1deA
    Es hat alles einwandfrei funktioniert! Danke noch einmal!

345

Online

32.6k

Benutzer

82.3k

Themen

1.3m

Beiträge