Skip to content

Skripten / Logik

16.6k Topics 214.4k Posts

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

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Topics
    49k Posts
    maxclaudiM
    @Daniel-8 sagte: Also habe ich das richtig interpretiert, das eine 8 Sekundenabfrage kein Problem darstellt Richtig. Es kann auch mit 6 Sek. gefahrlos getestet werden. Das Skript arbeitet mit einer Warteschlange (Queue). Das heißt, alle Anfragen (Watt lesen oder Werte schreiben) werden nacheinander abgearbeitet. Damit das stabil bleibt, müssen die Intervalle auf die Timeout-Zeit (2 Sek.) abgestimmt sein. Voraussetzung ist eine gute, stabile und nicht überlastete WLAN-Verbindung. Evtl. ein extra WLAN mit Access Point (AP) nur für Zendure-Gerät(e). Abfrage-Intervall (GET) const intervalGet = 8; Standard (Empfohlen): 8 Sekunden Technisches Minimum: 5 Sekunden @Daniel-8 sagte: und zwischen dem senden immer 5 Sekunden Pause sind? Richtig. Man kann zwar theoretisch schneller Befehle im ioBroker auslösen, aber das Skript lässt diese erst nach der eingestellten Pause, der Reihe nach, in die Warteschlange. Sende-Pause (POST) const minTimeBreakForSetDpSec = 5; Standard (Empfohlen): 5 Sekunden Technisches Minimum: 4 Sekunden Warum diese Mindestwerte? Stabilität. Die 2x-Timeout-Regel: Sobald Du einen Wert sendest (POST), schickt das Skript sofort eine Abfrage (GET) hinterher, um den Status zu aktualisieren. Im Fehlerfall (WLAN-Lag) dauert dieser Vorgang bis zu 4 Sekunden (2x 2 Sek. bei 2000ms Timeout). Die Sende-Pause muss also immer länger als diese 4 Sekunden sein, sonst stauen sich die Befehle in der Warteschlange.. Abfrage-Puffer: Das Abfrage-Intervall (GET) muss deutlich über dem Timeout liegen, damit das Skript Zeit hat, die Warteschlange nach einem Fehler sauber zu leeren. Wichtig: Bei schlechtem WLAN Wenn das WLAN nicht absolut stabil ist, sollte man die Zeiten nicht verringern, sondern eher erhöhen: intervalGet: auf 10–12 Sekunden minTimeBreak (Pause): auf 8 Sekunden Bei schlechtem Empfang laufen Anfragen evtl. oft in den 2-Sekunden-Timeout. Wenn man dann zu schnell neue Anfragen nachschiebt, "verstopft" die Kommunikation zum Zendure-Gerät komplett und der interne Prozessor (ESP) kommt nicht mehr hinterher. Könnte evtl. sogar die Kommunikation beenden. Nur so ist sichergestellt, dass über HTTP alles reibungslos funktioniert. Mir ist kein Weg bekannt, das auf andere Weise "sicherer" über HTTP zu gewährleisten. Mit den Standard-Einstellungen funktioniert es im Dauerbetrieb sehr zuverlässig.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    Siggi0904S
    Okay. Final ist es dann so geworden. Muss jetzt noch die Variablen für die beiden Datumsangaben erstellen und anbinden. [image: 1775999789528-d1871f2f-799c-486d-adaa-1b85f15ff648-image.jpeg]
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Topics
    13k Posts
    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
  • Funktion: Prüfen, ob innerhalb eines Zeitfensters

    Moved
    11
    1 Votes
    11 Posts
    5k Views
    K
    @night2k5 vielen Dank! Das sind halt immer die Kosten einer Forumsumstellung. Bei mir ist auch firefox nicht mehr wirklich nutzbar. Die Güterabwägung bei der Kosten-Nutzenanalyse fällt halt nicht überall gleich aus.
  • Variable "flackert" zw. true und false

    javascript
    8
    1
    0 Votes
    8 Posts
    727 Views
    G
    @gender Möchte dieses Thema hier nochmal hochziehen, da ich immer noch keine Lösung gefunden habe. Ich habe inzwischen zumindest den Workarround entdeckt, dass alles wieder funktioniert, wenn ich das "materialdesign - DialogView"-Widget, dass ja angezeigt wird, sobald die Variable auf true geht, lösche und wieder neu anlege (bzw. eine Kopie erzeuge und das "flackernde" Dialog-Widget lösche. Dann hört das oben beschriebene Verhalten (das Flackern der Variablen) auf. Irgendwann (nach einem Tag, oder auch mal nach einer Woche) taucht es dann wieder auf. Vielleicht kannst du @Scrounger dir das irgendwie erklären, welches Zusammenhang es mit dem Dialog-Widget geben könnte, daher habe ich dich hier einmal verlinkt. Danke.
  • Dialog mit Alexa auslösen

    6
    0 Votes
    6 Posts
    660 Views
    crunchipC
    @tristan https://forum.iobroker.net/topic/29838/alexa-fragt-und-verarbeitet-die-antwort/4
  • [blockly] Sensorwert nur verwenden, wenn aktuell

    Moved
    4
    1
    0 Votes
    4 Posts
    543 Views
    Ivan AndricI
    @homoran Vielen Dank, die Idee mit dem Timeout hilft mir weiter.
  • Aktuelle Laufzeit des Waschvorgangs anhand von Wattzahl

    87
    0 Votes
    87 Posts
    12k Views
    HomoranH
    @simatec Dann sehe ich es mir nochmal an - schiebe ich schon so lange auf
  • Javaskript: Auf Listeneintrag triggern

    Moved
    22
    0 Votes
    22 Posts
    2k Views
    hanssH
    @paul53 Entschuldige bitte, ich bin da einem Irrtum aufgesessen. der on({id: Target_Raum, change: "ne"} Trigger bezieht sich tatsächlich nur auf einen Target_Raum, so wie er soll.
  • Zigbee RGB Colorloop

    1
    0 Votes
    1 Posts
    212 Views
    No one has replied
  • Blinder Anfänger

    17
    0 Votes
    17 Posts
    1k Views
    K
    @cech Hallo, habe hier gerade zufällig reingeschaut. Deinen Zeitplan könntest Du z.B. noch so vereinfachen: [image: 1611316418723-8c5b4d38-8b41-48ea-81d2-1ae3aedde0f7-grafik.png] Unter "Zeitplan definieren" "Cron" aktivieren und bei Stunden "bestimmte Stunden" auswählen.
  • SmartPhone Benachrichtigung erkennen

    Moved blockly communication template
    2
    14
    5 Votes
    2 Posts
    1k Views
    K
    @cruzix Hi Ich bin ebenfalls gerade auf die Idee gekommen so etwas zu realisieren (noch sehr theoretisch). Allerdings möchte ich das über Bluetooth machen, wie z.b. es mein MiBand macht. Bekomme ich eine Benachrichtigung, vibriert es. Hat jemand Erfahrung, wie man so etwas realisieren könnte?
  • SourceAnalytixs und Grafana Werte

    4
    2
    0 Votes
    4 Posts
    626 Views
    crunchipC
    @bumbumb was wird als Wert angezeigt bei den Tagen, wenn du mit der Maus drüber fährst? Stimmen die Werte nicht oder nur die Balkengröße nicht? ansonsten wüßte ich nicht warum es falsch sein könnte Einzige was noch sein könnte, ( hatte ich zumindest schon das ein oder andere mal), das die Werte nicht korrekt geladen wurden, erst nach nem reload (dauerte ne Weile, zwecks Berechnungen) bzw hat sich einfach am nächsten Tag wieder "gefangen" hast du vllt X-Axis Value nicht auf Max stehen? [image: 1611263692518-932148d5-4b42-4ef4-bb75-5b73996982ed-image.png]
  • SMA Energy Meter in Echtzeit auslesen

    Moved
    85
    0 Votes
    85 Posts
    31k Views
    T
    @walter12 das war bei mir auch so....Fehler war, wie ich oben schon geschrieben habe, dass mein NodeRed Adapter mit dem Skript aus dem Anfang des Threads noch aktiv war und die Kommunikation gestört hat. Nach der Deinstallation und einem Neustart hat er sich sofort verbunden. Habe ein SHM2.0 und ein Energiemeter im Einsatz. beides wird in einem separaten Ordner angezeigt. Mehr kann ich dazu nicht sagen. sorry
  • Zigbee Pairing mode per Scriptbefehl starten?

    blockly
    4
    0 Votes
    4 Posts
    790 Views
    AsgothianA
    @borck Nur ein kleiner Hinweis. das das funktioniert ist gewissermassen Zufall. Es ist keine geplante Funktion und kann bei einem Update ersatzlos gestrichen werden. Wenn ein skriptbasiertes Öffnen des Netzes gewünscht wird dann solltet Ihr einen Issue auf Github dazu aufmachen. A.
  • Script abbrechen

    3
    1
    0 Votes
    3 Posts
    331 Views
    M
    @failsystem said in Script abbrechen: @mercyful-0 Probier mal statt der verzögerung einen TimeOut einzubauen, also die beiden hier: [image: 1611081308438-unbenannt.png] Starte wenn kommst , aber lösche wenn du gehst. Mfg der Fail Hallo failsystem! Danke für den Tipp, ich habe den im Kleinen mal mit einer Lampe getestet und das sieht gut aus. Ich erweitere das Script und werde morgen ausgiebig testen und berichten. Vielen Dank! Schöne Grüße //J
  • Grundsatzfrage Scriptlänge Blockly und JS

    10
    0 Votes
    10 Posts
    636 Views
    htreckslerH
    @mercyful-0 Einfach deinen Ersten Post editieren und in der Beschreibung ein [gelöst] voranstellen
  • Statusprüfung ob Fenster offen

    Moved Unsolved
    103
    0 Votes
    103 Posts
    19k Views
    machs-smart.deM
    @rocket85 Wie du eine automatische Übersicht von deinen geschlossenen und geöffneten Fenster als reinte Textliste oder formatierte HTML-Tabelle generieren kannst, erfährst du in diesem Artikel: https://www.machs-smart.de/offene-und-geschlossene-fenster-mit-blockly-als-liste-ausgeben/ Mit einem einfachen Blockly-Script und einem eigenen Datenpunkt kannst du dir die Gesamtzahl geöffneter Fenster oder Türen anzeigen lassen: https://www.machs-smart.de/iobroker-offene-fenster-zaehlen-blockly/
  • [gelöst] influxdb schreibt Werte bei Neustart des Adapters

    18
    1
    0 Votes
    18 Posts
    1k Views
    sentinelS
    @xlklwr said in influxdb schreibt Objektwerte bei Neustart des Adapters: @sentinel Ich habe das selbe Problem festgestellt. Ich schreibe einmal nachts meine Tageswerte in influx, wenn dann aber iobroker ein Neustart macht, tauchen die Werte mehrfach auf. Hast du eine Lösung gefunden? Das Problem der nicht gewollten zusätzlichen Einträge bei Neustart des Adapters wird behoben, in dem der Haken bei "Nur Änderungen aufzeichnen" entfernt wird. [image: 1611054622366-698e4f43-484c-4336-8785-2212f4cd1aa1-image.png]
  • Bei Tasterbetätigung Routine auf der Alexa starten

    6
    0 Votes
    6 Posts
    258 Views
    HomoranH
    @dicken sagte in Bei Tasterbetätigung Routine auf der Alexa starten: Musste nur noch im blauen Block von "akualsisieren" auf "steuern" umstellen. Vielen Dank ooops - richtig! Ich nehme auch nur den steuere-Block, der ist noch kürzer als der schreibe Block
  • Gaszähler mit ESPEasy und Honeywell IN-Z65

    blockly
    34
    1
    0 Votes
    34 Posts
    10k Views
    F
    @tobi19 Gute Lösung, den Reedkontakt direkt auf das Display zu "kleben"! Das "Verlängern" des Kontakts aus handelsüblichen Tür- und Fenstersensoren ist ja eigentlich auch problemlos möglich.
  • Wo ist mein denkfehler, Skript für Lüften

    9
    1
    0 Votes
    9 Posts
    393 Views
    Meister MopperM
    @robbsen Na ja, musst es ja auf Deine Bedürfnisse anpassen, das ist ja auch schon eine sehr intensive Beschäftigung mit der Ganzheit der Materie.
  • Wiederholtes Einschalten Zeitabhängig verhindern

    blockly heating
    7
    1
    0 Votes
    7 Posts
    607 Views
    CiwaC
    @danielio ich kann mich für solche Sachen echt begeistern....eigentlich müsste ich sofort Katze und Saugroboter kaufen gehen :) Danke für den Denkanstoß Gruß Ciwa

595

Online

32.8k

Users

82.7k

Topics

1.3m

Posts