Weiter zum Inhalt

Skripten / Logik

16.6k Themen 214.5k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Themen
    49k Beiträge
    D
    @ArnoD Nein im Log sehe ich keinenfehler was das betrifft. Habe nur den Node js aktualisiert und den ganzen PC neu gebootet (hätte ich das nicht tun sollen?) Was ich seit längerem (seit charge control läuft) habe ist 4 warn. ERROR WB_REQ_ENERGY_ALL ERROR WB_REQ_PM-POWER_L1 ERROR WB_REQ_PM-POWER_L2 ERROR WB_REQ_PM-POWER_L3 kann mann die irgend wie abschalten oder instandstellen?
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    paul53P
    @Mestro [sagte]: wenn nach 18:30 die 1x die Haustür geöffnet wird, eine Sprachausgabe gestartet wird ! Danach erst wieder am nächsten Tag [image: 1777039077509-blockly_temp.jpg]
  • Hilfe für Skripterstellung mit Node-RED

    955 13k
    955 Themen
    13k Beiträge
    mickymM
    @Tontechniker Man kann solche Filter aber auch OHNE neue Nodes zu installieren mit einfachen Standard-Switch Nodes realisieren: [image: 1776865319208-af3cab3c-2716-43f4-b7df-7f74e8bf051b-image.jpeg] ggf. einfach nochmal meinen alten Thread anschauen: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered
  • keine Wiedergabe der Playlist nach Sayit auf Sonos

    blockly multimedia
    15
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    T
    @Homoran diesen da: "http://localhost:5005/living room/state" Wie benötigenin den Objekten einen genauen Status des LS. (play oder pause/stop. Da kommt aber nichts brauchbares raus... AH zur Info, ich bin noch auf 1.7.7, weil bei den neuen Versionen TTS nicht funktioniert...
  • Heizungssteuerung

    Verschoben
    24
    0 Stimmen
    24 Beiträge
    4k Aufrufe
    paul53P
    @nolimitek sagte: ginge das im Script direkt Ich würde es auf jeden Fall im Script machen. var warmwasser = compareTime('05:00', '06:00', 'between'); function therme() { if(warmwasser) setState(idAktor, true); else { // bisherige Funktion und am Ende des Scripts schedule('0 5 * * *', function() { warmwasser = true; therme(); }); schedule('0 6 * * *', function() { warmwasser = false; therme(); });
  • Anwesenheitssimulator

    security blockly
    3
    0 Stimmen
    3 Beiträge
    248 Aufrufe
    E
    @htrecksler Servus - vielen Dank für den Tipp - ich werd's mir dann gleich ansehen......
  • Helligkeit ändert sich von alleine

    javascript
    20
    0 Stimmen
    20 Beiträge
    1k Aufrufe
    M
    es gibt halt so eine Webapp, IP-Adresse eingeben, Passwort und dann schaut es so aus: [image: 1609327084118-bildschirmfoto-2020-12-30-um-12.17.23.png]
  • [gelöst] Countdown erstellen und in VIS

    blockly javascript
    4
    0 Stimmen
    4 Beiträge
    409 Aufrufe
    WszeneW
    @UweRLP Danke ich habe es dann durch eine anders Blockly gefunden wie ich das einrichten muss @Knallochse Danke bit dem Adapter hat mein Vorhaben geklappt
  • Nuki-Extended

    javascript
    4
    0 Stimmen
    4 Beiträge
    217 Aufrufe
    mcBirneM
    @mcBirne leider hat es keine Auswirkung auf den User. Wenn ich nuki-extended.0.smartlocks.[smartlockname].users.[username].enabled auf false setze ist der Benutzer immer noch aktiv und kann das Schloss öffnen und schließen.
  • [Gelöst] Sonoff MQTT Temperaturwert auslesen

    climate javascript
    22
    2
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    liv-in-skyL
    @Stefan-Otten das ist ja klasse - hatte schon selbstzweifel :-) meld dich, wenn du noch was dazu brauchst
  • MQTT Datenpunkte automatisch erstellen

    template javascript
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    HomoranH
    @peterfido sagte in MQTT Datenpunkte automatisch erstellen: Unicode e4 ist demnach ein ä. Das weiß ich. Ich benutze auch keine Umlaute. @peterfido sagte in MQTT Datenpunkte automatisch erstellen: Bei mir werden die Datenpunkte der MQTT Clienten (ESP...) automatisch angelegt. Bei mir auch! auch beim TE! Aber der hat seine clients so programmiert , dass sie viele Werte In einem JSON liefern. Dieses muss er jetzt zerpflücken .
  • Bash auf Influx

    communication
    7
    0 Stimmen
    7 Beiträge
    459 Aufrufe
    paul53P
    @Megaheat sagte: Gibt es eventuell einen direkten JSON import ? Ich kenne die Webseiten nicht, die Du ausliest. Wenn sie direkt ein JSON liefern, sollte man das auch per Javascript einlesen können. const url = '...'; request(url, function(err, response, json) { if(!err && json) { let obj = JSON.parse(json); // Temp, rH ermitteln } });
  • Javascript Expression Logic Hilfe

    javascript
    11
    0 Stimmen
    11 Beiträge
    809 Aufrufe
    M
    @paul53 Das stimmt, dankeschön. Man lernt eben nur richtig wenn man ausprobiert und selber dahinter kommt. Vielen dank für die schnelle Hilfe!
  • Soll-/Ist-Zustand erweitert

    javascript
    3
    0 Stimmen
    3 Beiträge
    245 Aufrufe
    A
    @Asgothian Daran habe ich auch schon gedacht, quasi eine kleine State Machine... Die Idee finde ich gut, das würde ja bedeuten, dass ich mit dem Steuer-Datenpunkt z.B. sage: Einschalten. Zuerst schaltet das Skript dann den Strom ein und setzt den Zustand "startet". Dann fährt der PC hoch, irgendwann erhalte ich z.B. einen Ping als Lebenszeichen und setze den Zustand "läuft". Was passiert, wenn ich während des Hochfahrens bereits den Steuer-Datenpunkt auf "ausschalten" setze? Während des Hochfahrens kann ich ja keinen Shutdown-Befehl setzen und Strom einfach abschalten ist auch eine schlechte Idee. Was meint Ihr, wäre dann das Beste? Die Änderung des Steuer-Datenpunkts nur während "aus" und "läuft" zulassen? Den Befehl fürs Herunterfahren sofort ausführen, sobald der Zustand "läuft" erreicht ist? Den Steuer-Datenpunkt wieder auf "einschalten" zurücksetzen, weil der Zustand noch nicht erreicht ist? Was passiert, wenn der PC nicht startet (z.B. manuelle Eingabe für fsck nötig)? Man könnte einen Timer starten, sobald der Einschalt-Befehl kommt - und wenn der PC sich nicht in einer bestimmten Zeit meldet, wird ein eigener Status "Fehler" gesetzt? Oder wie könnte man so einen Fall abdecken? Was meint Ihr dazu?
  • Skript zum Auslesen der S.USV

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    inlineI
    Liebes Forum, nicht dass mein Skript viele Fragen aufgeworfen hätte, aber der guten Ordnung halber möchte ich euch trotzdem mitteilen dass ich ab sofort keine großartige Hilfe mehr geben kann. Die Batterie meines SUSV ist schon wieder defekt und diesmal hat es auch die Platine erwischt. Da ich sowieso schon ewig keinen Stromausfall mehr hatte und das Ding doch recht teuer ist, werde ich es nicht ersetzen. Ich kann also nichts mehr testen. Liebe Grüße, nachträglich frohe Weihnachten und einen guten Rutsch! Ralf
  • KNX Szene triggern

    blockly scenes javascript
    2
    0 Stimmen
    2 Beiträge
    282 Aufrufe
    paul53P
    @Steve-MASSARD: bleibt und eben nur beim Betätigen ein 1-Wahr-Telegramm sendet. Trigger auf "wurde aktualisiert". on({id: 'knx.0.xyz'}, function() { //Reaktion });
  • [Frage] Namen der States von Wertetabelle

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    D
    Danke für eure Hilfe. Ich bin irrtümlich davon ausgegangen, dass diese Meldung des Skript-Editors die Ursache dafür sein könnte, dass mein Skript nicht mehr funktioniert. [image: 1608999957882-2020-12-26-17-25-12.png] Es war aber gar nicht der Grund. Ursache war vielmehr, dass ich hier //+++++ Zurücksetzen aller Timer-Werte mit Reset-Button on({id: path+'setVitoTimerReset', change: 'any', val: 'true'}, function(){ for(i = 1; i <= 4; i++){ setState(path+'setVitoTimer'+i+'hAn', 24); setState(path+'setVitoTimer'+i+'mAn', 6); setState(path+'setVitoTimer'+i+'hAus', 24); setState(path+'setVitoTimer'+i+'mAus', 6); } setState(path+'setVitoTimerSetzen', false); setState(path+'setVitoTimerLaden', false); }); das "true" im on-Trigger als String und nicht als boolean deklariert hatte. Mit //+++++ Zurücksetzen aller Timer-Werte mit Reset-Button on({id: path+'setVitoTimerReset', change: 'any', val: true}, function(){ for(i = 1; i <= 4; i++){ setState(path+'setVitoTimer'+i+'hAn', 24); setState(path+'setVitoTimer'+i+'mAn', 6); setState(path+'setVitoTimer'+i+'hAus', 24); setState(path+'setVitoTimer'+i+'mAus', 6); } setState(path+'setVitoTimerSetzen', false); setState(path+'setVitoTimerLaden', false); }); funktioniert es nun wieder, wie gewünscht. Wünsche euch noch schöne Restweihnachten, Thorsten
  • Blockly => x Sekunden zu einer Uhrzeit dazu addieren

    Verschoben
    14
    1
    0 Stimmen
    14 Beiträge
    6k Aufrufe
    paul53P
    @FrankDCE sagte: Welches Datenformat muss der Datenpunkt "Auto-Ende Laden Auto" haben? Text? @paul53 sagte in Blockly => x Sekunden zu einer Uhrzeit dazu addieren: ein eigener Datenpunkt vom Typ "Zeichenkette" (string)
  • [gelöst]Licht anlassen, wenn Bewegung erkannt wird

    blockly
    4
    1
    0 Stimmen
    4 Beiträge
    647 Aufrufe
    B
    @paul53 Funktioniert super. Vielen Dank
  • Wie kann man feststellen, von wo der Fehler kommt?

    javascript
    16
    0 Stimmen
    16 Beiträge
    566 Aufrufe
    liv-in-skyL
    @bergjet kein thema - dachte mir schon, dass du neu installiert hast
  • [gelöst] Lichtwecker mit Cron -> fehler im Blockly

    blockly javascript
    13
    2
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    F
    Danke allen! Funktioniert soweit alles wie gewollt. Ob der Script so "sauber" ist kann ich aber nicht beurteilen... :-) Anbei noch die funktionierende Lösung: <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="cron" id="wecker1">wecker1</variable> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="procedures_defnoreturn" id="Pgc8VNiU%XB3z~a2X^p7" x="-458" y="-1040"> <field name="NAME">wecker_stellen</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="schedule_create" id="^iAKAEL!OxvNk0=QpqG$"> <field name="NAME">wecker1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="w2^$(SL4_;c5sRlw/h??"> <field name="CRON">* * * * *</field> </shadow> <block type="cron_builder" id="gDhUBD5ldAtbDmD.0Zfp"> <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation> <field name="LINE">FALSE</field> <field name="WITH_SECONDS">FALSE</field> <value name="DOW"> <shadow type="text" id="h6C=GuqgX-~UD,Z}X5(F"> <field name="TEXT">*</field> </shadow> <block type="get_value" id="V-`#Kw,duWYJ{LZlS3.g"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Wecktage_Cron</field> </block> </value> <value name="MONTHS"> <shadow type="text" id=".{W]66rbs0=@Sq@Qv9QG"> <field name="TEXT">*</field> </shadow> </value> <value name="DAYS"> <shadow type="text" id="D`01~Uh)t%vn-kJK8z`^"> <field name="TEXT">*</field> </shadow> </value> <value name="HOURS"> <shadow type="text" id="0WU.?a?.U_v`!]I*=bG("> <field name="TEXT">15</field> </shadow> <block type="get_value" id="lpsX;;UoT4@$yCpZdRm2"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Weckzeit_h</field> </block> </value> <value name="MINUTES"> <shadow type="text" id="JQ6+=ex4?rhrs+0tH,E_"> <field name="TEXT">31</field> </shadow> <block type="get_value" id="$QCPxPRzPz2h:pV!(M*g"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Weckzeit_min</field> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="comment" id="Q^N01Djl}n;wE11)K29F"> <field name="COMMENT">Wecker Schlafzimmer</field> <next> <block type="controls_if" id="a;HC95+9[)vOBU!%K[%A"> <value name="IF0"> <block type="logic_compare" id="v$~UJxDyyN]dOr615,s+"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Ud1:8vQ`p6NI|0s]3m~z"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Wecker_1_MaPa</field> </block> </value> <value name="B"> <block type="logic_boolean" id="CD~yAiHTL7ekiP9.Ou~{"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="XIiw%a#I%Po0S*}WR4)g"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.13.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="~K6+(10R^8f^/U#.Yr4$"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_if" id="kAsCx*Xi*`U6/yaSItWI"> <value name="IF0"> <block type="logic_compare" id="1oZ)+,56=72R=9~8l9Bx"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ssa9cS}.`cKRTVZvk$P8"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.13.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="mUd}67#E{t!E6wZ61|Va"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="7j#xTY@WFY!W#._KBBN="> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="mKJHkCt|kSDAgU(d;{]B"> <value name="IF0"> <block type="logic_compare" id=";y[XM99UkG~vC*07FI~I"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id=";0.(oVgLd~7b=r@HWH(O"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.13.level</field> </block> </value> <value name="B"> <block type="get_value" id="nyku|N[WzsUZGO:zlivd"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Licht.Standart_Schlafen_Decke</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="Y+oC)TA*y[,JS:?=5@5:"> <field name="NAME">Intervall</field> </block> </statement> <next> <block type="control" id="M!mZ7~CJiWlyGhZGj=wt"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.13.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="+!X,.0Q[?j:o@o@IOVmO"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="qGG|lrOhAo$?@{m3+wl5"> <field name="NUM">1</field> </shadow> <block type="get_value" id="L%$,93y1eurif-Z.xB1~"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.13.level</field> </block> </value> <value name="B"> <shadow type="math_number" id=".sOjyfd/*xTl8rdQB@SI"> <field name="NUM">1</field> </shadow> <block type="math_number" id="eyKM=I]e{@Qw3G-Rz~A-"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_callnoreturn" id="C%`+c}i:!vBV/0VO}9R-" x="263" y="-1063"> <mutation name="wecker_stellen"></mutation> <next> <block type="on_ext" id="/lAG.lcf1y2q^QEZ|g_q"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="2lv[IPb2*kcN(BWc|B!d"> <field name="oid">0_userdata.0.Wecker.Wecker_1.Weckzeit_h</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="oJqNA37,QD@Z(S-SS`-7"> <field name="oid">0_userdata.0.Wecker.Wecker_1.Weckzeit_min</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id=",T]qK|ai~5!bQ#e61kVa"> <field name="oid">0_userdata.0.Wecker.Wecker_1.Wecktage_Cron</field> </shadow> </value> <statement name="STATEMENT"> <block type="schedule_clear" id="$8;=Omg|6,#rx(FXwyYV"> <field name="NAME">wecker1</field> <next> <block type="procedures_callnoreturn" id=",MfiO70pOA[nXP/MdMti"> <mutation name="wecker_stellen"></mutation> </block> </next> </block> </statement> </block> </next> </block> <block type="comment" id="*k8[E)%1p5,8h%;BYEJA" x="-332" y="-602"> <field name="COMMENT">Wecker Schlafzimmer MaPa</field> </block> </xml> [image: 1608915373424-sharedscreenshot.jpg]
  • Blockly variable Timeout Steuerung

    Verschoben
    9
    1
    0 Stimmen
    9 Beiträge
    4k Aufrufe
    peterk34P
    @TGerwald der Fehler ist ziemlich trivial ... das mit der Variable funktioniert nur in MilliSekunden (keine Ahnung warum)
  • [gelöst] Probleme mit telegram Kommunikation?

    javascript blockly node-red communication
    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    Meister MopperM
    @Nas007 Prima, dann setz mal vor den Titel im ersten Beitrag ein [gelöst].

659

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge