Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.8k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    P
    @maxclaudi sagte: scheene schütza :-) He, das Gen fehlt mir, ich stamme aus DD ;-) @maxclaudi sagte: was wurde bzw. musste für SF800Pro 2 angepasst werden und warum ? Ist nicht alles vollständig? Ich hatte noch kein Firmwareupdate gemacht und da fehlte offensichtlich "set soc state" , kam jedenfalls immer als Fehler beim Start des Javascript. Heute alles umgebaut und Firmware aktuallisiert. Jetzt ist "soc state" auch da. Bin aber noch etwas irritiert, welche Scripe ich für die Nulleinspeisung benötige. Der SF1200+AB1000 läuft jetzt über den iob Zendure Solarflow Adapter und wird zusammen mit dem Hoyml WR über DTUonBat gesteuert. Der SF800Pro2+2xAB2000 sollte mit dem Blockly aus diesem Thred "DPL-Nulleinspeisung via zenSDK" vom 30.6.26 ergänzt durch minVolt Batterieschutz gesteuert werden. Welches deiner Javascripte brauche ich dazu? Aktuell laufen "Zendure zenSDK Adapter-Ersatz für ein Zendure-Gerät" vom 22.06.26 20:00h und "JavaScript: Zendure SolarFlow 800 Pro (SF2400AC) via zenSDK HTTP" vom 2026.01.13_16.05h . In der DTUonBat hab ich die Aktuallisierung auf 5 s gestellt damit er nur bei Bedarf über dem vom SF800Pro2 anspringt. Peter
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    W
    @paul53 Bombe! Vielen Dank! Gleich die erste Version passt perfekt. Möchte nur um 11 Uhr entscheiden ob es sinnvoll ist die Klima einzuschalten. Brauch das nur im Sommer, drum interessiert Winterzeit nicht. Vielen Dank Dir
  • Hilfe für Skripterstellung mit Node-RED

    964 13k
    964 Themen
    13k Beiträge
    HomoranH
    @andibr sagte: beim auslesen der Victron Forcast aus dem VRM. Wieder [OT] Hängt die pytes bereits per CAN am BMS-CAN vom Cerbo? Und zusätzlich gehst du an den rj45 für RS232? Geht das problemlos? Hab mich das nämlich noch nicht getraut.
  • Nod Red funktioniert nicht mehr nach iobroker Restore

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    A
    Vielen Dank. Hier nochmal die Lösung /opt/iobroker/iobroker-data/node-red/flows_cred.json umbennen oder löschen Vielleicht kann man das Thema mal anpinnen oder in die Doku mit aufnehmen.
  • (gelöst) Blocky Abwesenheit mit Türsensor Prüfung

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    846 Aufrufe
    R
    @el-lutschi: Ganz unrecht hast du da ja nicht. Aber ich könnte mich nicht erinnern, dass dieser Fall schon einmal eingetreten wäre :D ` Wollte ja nur drauf hinweisen, nicht das dann irgendein Alarm losgeht! :D @el-lutschi: Aber weil du darauf anspielst, mit der Anwesenheit per WLAN hab ich wirklich so gut wie nie Probleme. Das funktioniert bei mir sehr stabil. Falls es jemanden interessiert, ich nutze eine FritzBox 6490 und ein Xiaomi Redmi Note 4X mit Lineage OS. ` Wie ich ja schon schrieb, das ist gut so, wenns funktioniert, dass wird aber wohl auch dem Handy geschuldet sein. Ich habe lange um ne zuverlässige Version der Anwesenheitskontrolle gekämpft und habe für mich die Bluetooth-Erkennung des Radar-Adapter entschieden. Aber das ist ein anderes Thema! Enrico
  • [gelöst]Sonderzeichen ersetzen…

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    Matten MattenM
    @pix: Sieht doch elegant aus, gibt aber dennoch einen Befehl dafür: var Betreff = " äöüÄÖÜß#+&"; var Text = " äöüÄÖÜß#+&"; Text = encodeURIComponent(Text); Betreff = encodeURIComponent(Betreff); log ('Text (encoded): ' + Text); log ('Betreff (encoded): ' + Betreff); Gruß Pix ` Kann ich das "URI" auch mit "HTML" ersetzen? Ich habe Probleme mit dem übertragen von Texten in eine Zeichenketten Variable meiner CCU2. Gruß Matten
  • Blockly abfragen ob Fenster zu oder auf

    Verschoben
    7
    1
    0 Stimmen
    7 Beiträge
    882 Aufrufe
    S
    Also ich hab noch ein wenig hin und her probiert und jetzt funktioniert es :D ich kann leider nicht sagen an was es gelegen hat vielleicht hatte ich auch nur ein denkfehler :?: trotzdem danke :!:
  • MQTT: publish via Javascript

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    S
    Danke!!
  • [Hilfe] Mit einem Blockly Status von Tür und Fenster abfragen.

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    R
    Deine Ansagen kannst du so abändern, dass du für jedes Fenster und jede Tür einen neuen falls-Block nimmst und die entsprechende Ansage ausführst, das wird aber dann dazu führen, dass die Ansagen fast zeitgleich ankommen werden. Das wird auf die Schnelle nicht so einfach. Ganz grob würde ich sagen, dass du da mit ein paar Variablen arbeiten musst, die du für jedes Fenster setzt und dann einen Text zusammenstellst, der entsprechend den aktivierten Variablen, die offenen Fenster ansagt. Hast du dir dieses Zählen-Script schon mal angesehen? Ich habe auch überhaupt keine Ahnung von "normalem" Javascript, der Thread dazu ist aber schon so, dass man da ne Menge rauslesen kann, auch als Noob. Und geholfen wird dir da auch, das bekommst du hin! :D Enrico
  • Sleep-Befehl mit Blockly

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    2k Aufrufe
    R
    Ne Pause gibt's nicht im Blockly, da würde nur ein timeout, oder eben diese Verzögerung in den "steuere" Blöcken. Bei Verwendung von timeouts unbedingt sicherstellen, dass diese sicher beendet werden und auch nicht in einer Endlosschleife vielfach gestartet werden, das hat schon bei so Manchem Probleme verursacht! Enrico
  • Wie exec Ergebnis mit Blockly nutzen? (gelöst)

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    8k Aufrufe
    N
    @wendy2702: Nur mal so… ist das kein AVR für den es einen fertigen Adapter gibt? ` hmm das müsste ich nochmal checken. Ist ein Pioneer VSX921. @Bluefox: Dafür braucht man kleinen Trick. Erst muss die Variable mit dem Namen "result" erzeugt werden und dann kann man die im Ergebnis abfragen: ` vielen Dank, das war die Lösung
  • [Gelöst] Nachtlicht mit Rollo und Astro schalten

    Verschoben
    12
    1
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    L
    Die Lösung ist, das ich den Rollo einfach raus genommen hab und das Script nur noch über die Tageszeit steuere. [image: 5495_screenshot_20180315-172801.jpg] Gruss Michi
  • Msg.payload werte extrahieren

    Verschoben
    10
    2
    0 Stimmen
    10 Beiträge
    20k Aufrufe
    G
    Cool. Gesehen habe ich den Menüpunkt schon mal. Da muss ich den Subflow wohl mal austesten. Danke für die Info
  • [Gelöst] Wie On Funktion zusammen fassen

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    534 Aufrufe
    Paulchen67P
    Funktioniert, Vielen Dank.
  • Nicht den Wert sondern den anzeigten Text übernehmen?

    Verschoben
    2
    2
    0 Stimmen
    2 Beiträge
    359 Aufrufe
    paul53P
    Das wird wohl mit Blockly nichts, aber mit https://forum.iobroker.net/viewtopic.php?f=21&t=6418&p=66212#p66212 kann man es machen.
  • [gelöst]Script ausführen mit Dashbutton

    Verschoben
    2
    3
    0 Stimmen
    2 Beiträge
    467 Aufrufe
    S
    Vermutlich habe ich den Fehler gefunden, ich darf die Lichter, etc. nicht gleichzeitig ein-, bzw. ausschalten lassen, sondern muss immer eine paar "ms" Verzögerung, zwischen den jeweiligen Schaltungen, einfügen.
  • [gelöst] Blockly Alarmanlage

    Verschoben
    4
    2
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    lobomauL
    Zum Scharf- und Unscharfstellen kann ich das Blockly von rantanplan empfehlen: viewtopic.php?f=21&t=4769&hilit=rantanp … =20#p49863
  • Blockly, Lesen eines Wertes mit String Parameter

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    H
    Hallo, ich möchte ein Objekt beschreiben (und lesen), welches ich über eine Variable referenziere z.B. im folgenden Beispiel möchte ich per Variable "item" myObject_1 bis myObject_10 mit "0" beschrieben [image: 544_ohne_titel.jpg] Leider kann "control" keine Variablen verwenden
  • Blockly Fenster offen –> Luftfeuchtigkeit unter Wert x --> pushnachricht

    Verschoben
    7
    1
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    S
    Jetzt hab ichs eigentlich so hinbekommen, dass wenn das Fenster offen ist alle 5 min (zum test sek) abgefragt wird ob die Luftfeuchtigkeit z.B. unter 50% liegt. Ist das nach 30 min nicht der Fall kommt nach 32 min immer eine Meldung. Wie könnte ich es machen, dass wenn eine Meldung gesendet wurde oder das Fenster geschlossen wird das Skript abgebrochen wird? 6377_blockly_9.jpg
  • [gelöst] Licht bei Bewegung will nicht so recht…

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    M
    ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="f/h+q}5V%y]EUJ;a=!VW" x="-437" y="-388"><field name="NAME">Kueche_State</field> <next><block type="create" id="Uzkta:J2#p(pK#gZWHts"><field name="NAME">Lichtautomatik_Kueche</field> <next><block type="variables_set" id="U,v}AxcbrG,o}/9r)R!"><field name="VAR">licht_Kueche</field> <value name="VALUE"><block type="get_value" id="7.:eScCos^))#So/]I7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field></block></value> <next><block type="comment" id="bl5[_A@=Q=VNvb.TPlA"><field name="COMMENT">ID Bewegung</field> <next><block type="on" id="^E4sfXy;J%7%N7!~KYN"><field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="debug" id="5jySf};|1KIOz|-x5.4Z"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="fHy%l4TaB=O@7CVB%u0b"><field name="TEXT">Motion hat sich geändert</field></shadow></value> <next><block type="controls_if" id="lZ(wkj5=qNXN;_`3W3EM"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="E=HM_HQk,dla`gsD4{H:" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_operation" id="=cIP!7w_p]G^(AgluL[v" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="Yh%8NG*Nuwjr^aKM=,nt"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="#K|]ht@w0d_Zr~6.T2~E"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="~y`_6?d~o4)_]EyZ4J;u"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="D55i4j~OO6*Hm9PfVjm="><field name="OP">NEQ</field> <value name="A"><block type="variables_get" id="}cCg)yznc~0`#7APGIT)"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id=";EV32f,;q=g1]+O8c)g2"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <value name="B"><block type="logic_operation" id="@TpyiC./.ECP0lF-~1?w" inline="false"><field name="OP">AND</field> <value name="A"><block type="get_value" id="Y(b=sP`q47riGyA,XksN"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Helligkeit_Kueche</field></block></value> <value name="B"><block type="get_value" id="HxQ1+yJnLg==AA(b^I,["><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO0"><block type="debug" id="TKfC_ji*Hm6VcZj*f0}Y"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="(oL_uo[8==.Z}qCFEfA."><field name="TEXT">Alle Bedingungen OK, Licht an</field></shadow></value> <next><block type="control" id="uE]kwP%Z?J[RCFy42a,7"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="a6o!G0N:bhTy-.[j1666"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="zYhzvwa{q{Q1;,[31^#C"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="?7AV-q45SnEA*.4nNt:6"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></statement> <value name="IF1"><block type="logic_operation" id="Y~.i/Pt44SuP|V}YcK|E" inline="false"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="S5lo2]3s*YpRhW:VD/p4"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_operation" id="J5`Gld]}n*j10oxbS_?8" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="rNA:N3@NZ/-^dGkL{Z%u"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Ir,D1K,f_535w~SEt0hZ"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="qpW(m3)RxeTh?O5(O+L!"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="get_value" id="Q#8EVw/^yor:Ihj=[r_c"><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO1"><block type="timeouts_cleartimeout" id="~qHp3o*Wab.XYgl%rn#g"><field name="NAME">timeout</field> <next><block type="debug" id="@hNr3:jd6:lD:ehN19DA"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="RRyZEBWQ+9-D,P.D-Dd`"><field name="TEXT">Bewegung erkannt:Licht ist schon an</field></shadow></value></block></next></block></statement> <value name="IF2"><block type="logic_operation" id="|)+-]QQFMd2kz=~VB:))" inline="false"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="y8LC=t/!+2P5:OUS3t@2"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_operation" id="Bm3Pez`%ZLJG4O{Ru5B+" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="C?YcLvjR8lVZpl.rcpv^"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="v#(Lfeg)d%*D{eJ25OAT"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="Si}n@@VC@PmZhrx1i^Rl"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="get_value" id="diSen57XIb(F:wZQU.4_"><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO2"><block type="debug" id="L|}GJ8=gE|QE+9=_uQp1"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="OAG4qE^{qe/?ibyjauXE"><field name="TEXT">Keine bewegung timer starten</field></shadow></value> <next><block type="timeouts_cleartimeout" id="GM7ujBrSBNOMga4_(?Gv"><field name="NAME">timeout</field> <next><block type="timeouts_settimeout" id="F3Tex_`gJ**]n(K(Ua86"><field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="controls_if" id="M60^Ic]cp0Mf2p9HbTir"><value name="IF0"><block type="logic_operation" id="_,O3L2RQ2,xI2|{|vz}Y"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="1WQ7~2dm_.*+H)L(O5@{"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_compare" id="w{.nM^Kf_iMRR0#tfRjE"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="`|/cV^AQND=!;Ly){42("><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="/(O?--g7uMK7C{qYo{mZ"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="*n8yTg,vzGkKwO`;srp."><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="aNXp7_a?dXcb]%{2)IVi"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id="(u}jL-fI~[Fr8l?83;b8"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="7fg}SH%TtJ2QQl|iJkJH"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></next></block></next></block></statement></block></next></block></statement> <next><block type="comment" id="PlNbAyN^w;+~0DlYraf?"><field name="COMMENT">ID Licht</field> <next><block type="on" id="Qvir^Iyye;}YSbLTY*En"><field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="variables_set" id="8u+DfM@(Gb|Gpa*5V%gb"><field name="VAR">licht_Kueche</field> <value name="VALUE"><block type="on_source" id="*z`p%tJ(Mc`=dl6(%0Q%"><field name="ATTR">state.val</field></block></value></block></statement> <next><block type="on" id="E/h^XM2HRwrs0EAm(~.~"><field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="controls_if" id="Qu|38ncZ=aV_FiJ|{6B4"><value name="IF0"><block type="logic_compare" id="],+dP__za,Y^P.Ta|/St"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="*2`@L{}7PKr)=(fAPlO7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="}F{URw/H6b0^AHM1%:im"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="91r7zNW@!0LKaft8J-fU"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="on_source" id="L~AmN}EsEF#5mRDa7^dP"><field name="ATTR">state.val</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block> <block type="comment" id="2aV7tF/;%?p=WCSi2.Nl" x="-62" y="-312"><field name="COMMENT">ID Licht</field></block></xml> Ich habe es jetzt nochmal umgebaut.. da waren doch noch ein bisschen Denkfehler drin…. Nun funktioniert es perfekt. Einschaltbedingung, erkennen ob Bewegung, wenn Licht schon an ist (timer stoppen, falls schon einer gestartet) und Timer zum ausschalten, wenn licht an und keine Bewegung mehr... [4885_kueche-neu.jpeg](/assets/uploads/files/4885_kueche-neu.jpeg)
  • Einfacher Timer mit Blockly

    Verschoben
    9
    1
    0 Stimmen
    9 Beiträge
    4k Aufrufe
    P
    @UweRLP: Sicher das dein Blockly nicht ausgeführt wird? ` Wie könnte ich das Testen? @UweRLP: Vermutlich entspricht das Ergebnis nicht deinen Erwartungen. ` Das mit Sicherheit denn ich möchte ja das der Timer funktioniert :lol: Ich habe im Skript mehrere Blöcke mit Timer könnte das ein Problem sein? Wenn ich die Lampen manuel schalte, klicken diese immer wieder so blöd, ganz kurz schaltet das Relais für ein Bruchteil von einer Sekunde. Auf welche Zeit bezieht sich der Timer? die vom Rechner? Gestern Punkt 20:00 Uhr ist eine Lampe an gegangen. Pünktlich eine Stunde zu spät aber nur eine. Ist zum Beispiel beim Astrotimer der Sonnenaufgang bei mir in der Region? Irgendwie überzeugt mich die Timerfunktion noch nicht ganz. Oder ich habe wirklich etwas falsch gemacht oder falsch verstanden. Was ich sicher nicht ausschliessen möchte. ;)
  • [Frage] Fensterkontakt macht Snapshot von Onvif IP-Cam Stream

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    Z
    Hallo deine cam sollte wie die siri sp020 sein kannst das hier versuchen: https://shinobi.video/docs/cameras/Sricam#JPEGhttp://
  • Node Red funktioniert nichtmehr (missing nodes)

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    3k Aufrufe
    T
    Ich hab einfach die Nodes gelöscht und jetzt funktioniert wieder alles. Aber ich musste die Broadlink Nodes löschen die vorher funktioniert haben und jetzt kann ich meinen Broadlink RM Pro nichtmehr damit nutzen … Wie kann das sein das die auf einmal ärger machen?

394

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge