Skip to content

Skripten / Logik

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

16.4k Themen 211.6k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    S
    @Mabbi mega... 💪🏼
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    HomoranH
    @tiobb mach mal ein reconfigure
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • Script zur Abfrage und Variable schreiben

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    894 Aufrufe
    M
    @AlCalzone ja, mache ich später :-) Ich hab gerade nämlich noch etwas geändert und dabei ist mir was aufgefallen: Problem ist: Wenn iibroker frisch gestartet wurde hat die Balkontüre keinen Status. Erst wenn sie das erste mal verändert wurde ändert sich der Status zu einem gültigen Status. Jetzt dachte ich mir ich nehme einfach mal noch die Aktualisierungszeit vom Homepilot dazu als Trigger. Das funktioniert auch, bei der ersten Änderung bekomme ich für die Balkontüre den korrekten Status angezeigt, ABER es erscheint auch eine Warnung im Log mit der ich nichts anfangen kann. 13:33:27.798 [warn] javascript.0 at Object. (script.js.Homepilot.Balkontuere:12:5) ````//aus dem Script Editor javascript.0 2018-08-13 13:33:27.796 warn at Object. <anonymous>(script.js.Homepilot.Balkontuere:12:5) javascript.0 2018-08-13 13:33:27.791 warn Wrong type of javascript.0.scriptEnabled.Homepilot.Balkontuere: "string". Please fix, while deprecated and will not work in next versions.</anonymous> Jetzt ist das genau die Stelle an der das Script 'geschlossen' schreibt und der Status bereits 'geschlossen' ist. Hängt das damit zusammen ? Aber die Fehlermeldung hat ja etwas mit 'String' zun tun … :?: Eines jedenfalls ist sicher, es kommt durch die hinzugefügte object.ID homepilot.uws.aktualisiert Hier noch das script <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="PV@wi;P(7Or}IFr]G;w#" x="-462" y="-413"><field name="COMMENT">Variable erzeugen</field> <next><block type="create" id="hugGY.kjQ/6JbAbp0Coq"><field name="NAME">scriptEnabled.Homepilot.Balkontuere</field> <next><block type="comment" id="RpMUzedZCNLNs1nvcTPp"><field name="COMMENT">Trigger auf beide Sensoren</field> <next><block type="on_ext" id="fvW|9PA`%/Ku(:D{Ja*]"><mutation items="3"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="9MI^=*PdUsRSBiUgrdTM"><field name="oid">parser.0.homepilot.fenstersensor.balkontüre-oben</field></shadow></value> <value name="OID1"><shadow type="field_oid" id="c|b?yGNJrfUJHum.{_vw"><field name="oid">parser.0.homepilot.fenstersensor.balkontüre-unten</field></shadow></value> <value name="OID2"><shadow type="field_oid" id="K%VOr7K8/vt-1ZLkZ{5m"><field name="oid">parser.0.homepilot.uws.aktualisiert</field></shadow></value> <statement name="STATEMENT"><block type="comment" id="4{-X-xbR}W-oA.g80Rj)"><field name="COMMENT">geklappt, offen, geschlossen</field> <next><block type="controls_if" id="8.Y]Z%8a[u@``jU=KJn0"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="6#2g!iIGE*p(|-pLgwc;"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="Xr07{sCUI~9=X.S-YKGM"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="0}BQ|J#W|Vw/tT(bNjt%"><field name="ATTR">val</field> <field name="OID">parser.0.homepilot.fenstersensor.balkontüre-oben</field></block></value> <value name="B"><block type="logic_boolean" id="s]6]r!8A:yN,*bvr6f+{"><field name="BOOL">FALSE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="e98Sejq:A3AQ:A#GS@.C"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="QfR[~u%#|Ls}hkSe{w8h"><field name="ATTR">val</field> <field name="OID">parser.0.homepilot.fenstersensor.balkontüre-unten</field></block></value> <value name="B"><block type="logic_boolean" id="^H![P|cPcmdge|+.*yo%"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="update" id="a6_rcw(oeo?0R{!KboQ]"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Homepilot.Balkontuere</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="Z5rAFVN;NX`P8HwBhMQZ"><field name="TEXT">geklappt</field></block></value></block></statement> <value name="IF1"><block type="logic_operation" id="k@q5C{Lpaee|s*mt8+^a"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="]7Lkad!(T0p={_+_HwXF"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=".K^*@R+;*QibAU[0.9+_"><field name="ATTR">val</field> <field name="OID">parser.0.homepilot.fenstersensor.balkontüre-oben</field></block></value> <value name="B"><block type="logic_boolean" id=",tO!n!:nl,[Ip/aL!wX)"><field name="BOOL">FALSE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="Ro%]a)~T2f1ssk7p-H~3"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=".0M-VQgDL)ad3(R^d(VN"><field name="ATTR">val</field> <field name="OID">parser.0.homepilot.fenstersensor.balkontüre-unten</field></block></value> <value name="B"><block type="logic_boolean" id="yD/JCW`;myUubZxKZ@(L"><field name="BOOL">FALSE</field></block></value></block></value></block></value> <statement name="DO1"><block type="update" id="W5tQbsYs9^`ZWjx]`OBn"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Homepilot.Balkontuere</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="IT`QVa.4WL1^LFH;@9%9"><field name="TEXT">offen</field></block></value></block></statement> <value name="IF2"><block type="logic_operation" id="m:]a)s.C{D;7o~JJ27L@"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="^PqvNp!a_YLTXW=eMf{P"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="N}L}/|]wJ@7K7v*wMq-F"><field name="ATTR">val</field> <field name="OID">parser.0.homepilot.fenstersensor.balkontüre-oben</field></block></value> <value name="B"><block type="logic_boolean" id="dL!C)uUUW+/FN+-z,0.6"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="j0xXDheR61i8vDfT8vn4"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="u22,f18P,,#F~P;FRVK?"><field name="ATTR">val</field> <field name="OID">parser.0.homepilot.fenstersensor.balkontüre-unten</field></block></value> <value name="B"><block type="logic_boolean" id="=1dQnj(#f]Auc.^}hE+2"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO2"><block type="update" id="0z~WEv|~p-dn4hXzA_!s"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Homepilot.Balkontuere</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="QhMt4p4iTcaD!{AxyiH5"><field name="TEXT">geschlossen</field></block></value></block></statement></block></next></block></statement></block></next></block></next></block></next></block></xml> Hat jemand eine Idee ? vg, Marc
  • [gelöst] [Blockly]Lampen aus, wenn 15 Minuten keine Bewegung

    Verschoben
    24
    2
    0 Stimmen
    24 Beiträge
    4k Aufrufe
    AlCalzoneA
    Prima, dann markiere das Thema im Titel des 1. Beitrags bitte als gelöst.
  • Auswertung in Blockly

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    814 Aufrufe
    L
    Danke AlCalzone du hast mir sehr geholfen. Mit Hilfe deines Beispielcodes bin ich weitergekommen.
  • [gelöst] Code Optimierung bei 6 Timern - wie

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    720 Aufrufe
    etvE
    @paul53: @etv: wenn das Script bei jedem Ablauf des Intervalls die vorige setInterval Funktion wieder löscht und "sich selbst" erneut startet. ` Nach jeder Intervalldauer stoppen entspricht der Funktion setTimeout(). setIntervall() verwendet man, wenn mehrere gleich lange Intervalle bis zu einer Abbruchbedingung ausgeführt werden sollen. function mache_verzoegert(delay) { // delay in s setTimeout(function() { // Hier die Aktion let delay_neu = // Berechnung neue Verzögerungszeit; if(!Abbruchbedingung) mache_verzoegert(delay_neu); // Schleife soll nicht ewig laufen ! }, 1000 * delay); } // Erster Aufruf mit 1 Minute Verzögerung mache_verzoegert(60); ```` ` herzlichen Dank, dann hab ich da Äpfel und Birnen vermischt :D Liebe Grüße tom PS: warum gibt's im Forum keine "DANKE"-Button mehr oder find' ich ihn nur nicht mehr?? :?:
  • [gelöst]Javascript/Blökly editor

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    295 Aufrufe
    Niemand hat geantwortet
  • [gelöst] Wrong type of… im Log ... manchmal

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    451 Aufrufe
    htreckslerH
    ich werde mich die Tage mal an die Analyse machen. Danke, Paul für deine schnelle Hilfe und noch einen schönen Restsonntag
  • Blockly ::::: ERLEDIGT, danke an alle.

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    567 Aufrufe
    S
    Wenn man vor lauter Wald. hahaha. Funktioniert. Nach 5 mal Aufsetzten habe ich herausgefunden, oben links, der Reiter: neues Script, öffnet erst das Blocklyfenster, tztztz.
  • Xiaomi Roborock mit Blockly steuern

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    741 Aufrufe
    B
    Hi, nutze doch einfach den Datenpunkt find aus dem Adapter. [image: 654_unbenannt.jpg] Du nimmst die Variable aus der CCU als Trigger für die Bedingung und dann steuerst du den Datenpunkt "find" aus dem Adapter des Saugers mit wahr. Sollte eigentlich funktionieren Es kann sein, dass du die Bedingung ob auf Wahr stellen musst, solltest diese dann nur im letzten Schritt des Scriptes wieder auf falsch setzten.
  • Daten ICal auslesen und vergleichen

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    255 Aufrufe
    Niemand hat geantwortet
  • Scripteditor Unterschied zwischen common & global

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    8k Aufrufe
    etvE
    …aja, muss ich mal ausprobieren, danke dir!! Liebe Grüße tom
  • State überspringen in Blockly

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    344 Aufrufe
    paul53P
    @gravidi: Beim nächsten On soll das Licht aber wieder ausgehen. ` steuere "Zone 2 Switch ON/OFF" mit <u>nicht</u> Wert von "Zone 2 Switch ON/OFF"
  • HM Fenster Zähler Anzeige

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    892 Aufrufe
    totocotonioT
    Hi, ich hätte mal eine Frage. Ich habe auch 2 Sonoff im Gewerk "Licht" drin. Die werden aber nicht gefunden. Kann ich das irgendwie auch erreichen?
  • 1 Wire Wert auf KNX senden

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    525 Aufrufe
    M
    jetzt geht es, danke dir :)
  • Steckdose verzögert ausschalten

    Verschoben
    12
    2
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    A
    Ihr habt natürlich recht. Ich habe die eine Abfrage jetzt raus genommen und es funktioniert auch so. Die doppelte Abfrage hatte ich so aus dem Vorschlag von Bluemoon am Anfang übernommen und mir ist der "Fehler" nicht aufgefallen. Jetzt sieht es so aus: [image: 6697_blockly.png] Danke nochmal!
  • Wie sinnvoll Dummy Status Objekt erzeugen?

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    607 Aufrufe
    apollon77A
    Da Du sie per Skripte steuern willst am besten in javascript.0 …
  • [ BEISPIEL ] Alternative Bilder für Wunderground Adapter

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    3k Aufrufe
    D
    So, hab mir jetzt ein bisschen was zusammen gebastelt. [image: 996_wu-wetter.jpg]
  • [Blockly] Steuerung Mo-Fr und am WE anders

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    C
    @paul53: Die Prüfungen auf Zeitbereiche müssen innerhalb des Triggerbausteins erfolgen. Vorschlag: Blockly_Mo-Fr_Sa_Zeitbereiche.JPG ` Hey paul53, genau das habe ich gesucht. Vielen Dank für input. Ich teste morgen und gebe noch mal feedback.
  • [Blockly] Alarm mit Timeout

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    380 Aufrufe
    Niemand hat geantwortet
  • Anfängerfrage zum steuern von Objekten

    Verschoben
    3
    2
    0 Stimmen
    3 Beiträge
    626 Aufrufe
    H
    Es kam imer on/off an. Das hatte mich verwundert. Nun habe ich aber das Problem gefunden. Man muss strings in Gänsefüßchen angeben. In meinem Beispiel also: msg.payload = "PWR00"; return msg;
  • ICal Daten über den neuen Alexa2 Ansagen lassen ?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    551 Aufrufe
    liv-in-skyL
    ich habe das mit node red gelöst - echte js profis lösen das sicher anders - es werden die nächsten (ersten) 3 einträge als datenobjecte gesichert. diese kann ich mit blockly einfach verarbeiten. bzw ausgeben. in diesem beipiel wird der erste punkt direct über alexa ausgegeben. getriggert wird über den punkt "schlafen"- dieser wird durch ein blockly-schedule immer nach dem ical update getriggert. 4447_ical.png 4447_oblectical.png

188

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge