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
    @maxclaudi "Nebenher ist ein neues, verbessertes Skript in Arbeit und zu 80 % fertig." Was wird denn verbessert? hat es was mit meinem Smartmode zu tun? Ich hoffe ich muss nicht nochmal alles neu machen für mein Steuerungsscript.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    Thomas BraunT
    @Jannik1808 sagte: auch funktionieren. Funktionieren die auch, wenn der user 'iobroker' diese Befehle ausführt?
  • Hilfe für Skripterstellung mit Node-RED

    956 13k
    956 Themen
    13k Beiträge
    S
    Hallo Zusammen, ich bin gerade am überlegen, wie ich folgende Aufgabe umsetzen könnte: Ein true an einer (Trigger)Node lässt einen Zähler laufen und setzt einen eigenen Ausgang auf true. Ein false der Trigger Node stoppt den Zähler setzt diesen aber nicht auf false. Ein true lässt den Zähler einfach weiterlaufen... Nach Ablauf der Zeit im Zähler wird der Ausgang des Zählers auf false gesetzt. Mehr soll nicht passieren. Ein separater Eingang am Zähler setzt diesen auf 0 zurück. Was ich damit anfangen möchte: Die Laufzeit der Poolpumpe wird auf eine Mindestlaufzeit von bspw. 4h überwacht -kann aber manuell bedient bei Bedarf länger laufen. Ein Trigger um 00:01Uhr setzt die Laufzeit zurück. Die Zählernode gilt hier als "Anforderung Pumpe wegen Mindestlaufzeit unterschritten". Ich habe noch keine brauchbaren Ideen, wie ich dass sauber und mit wenig Aufwand umsetzen könnte... Vielen Dank und VG Torsten
  • warum wird dieses einfache Rules Script nicht getriggert

    4
    2
    0 Stimmen
    4 Beiträge
    421 Aufrufe
    FabioF
    @qlink gerne.
  • Wert eines DP in simple-ssh einbinden

    1
    0 Stimmen
    1 Beiträge
    68 Aufrufe
    Niemand hat geantwortet
  • MQTT Analogen Wert "JSON" extrahieren in "Zahl"

    2
    1
    0 Stimmen
    2 Beiträge
    105 Aufrufe
    paul53P
    @mrpit on(idSensor, function(dp) { setState(idA0, JSON.parse(dp.state.val).ANALOG.A0, true); });
  • [gelöst] Mittels Blockly mqtt Zeitstempel auf Alter prüfen

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    3k Aufrufe
    htreckslerH
    @leone-mortuo könntest du das Script vielleicht als Javascript-Export hier bereitstellen? Mit Blockly hab ich es nicht so.
  • Nochmal Waschmaschine (Blockly)

    Verschoben
    153
    1
    0 Stimmen
    153 Beiträge
    34k Aufrufe
    Marko1974M
    @ingod said in Nochmal Waschmaschine (Blockly): Ja, natürlich. Skript 1 (Fertig-Meldung) <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="Ma,cer@O39_MHUXE9b6{" x="-462" y="-237"><field name="OID">sonoff.0.KL_Waschmaschine.ENERGY_Power</field> <field name="CONDITION">any</field> <statement name="STATEMENT"><block type="controls_if" id="U1uqg)1c{UYg%K;c5A6v"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="BtuJ~#;p@UrsD?0!l]dt"><field name="OP">GT</field> <value name="A"><block type="get_value" id="J?#uK.,OJwtW.8D!g3`j"><field name="ATTR">val</field> <field name="OID">sonoff.0.KL_Waschmaschine.ENERGY_Power</field></block></value> <value name="B"><block type="math_number" id="kgwve^?mv]rMKg.0jXZv"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="update" id="*0?=A65jlQdW|w,*[];@"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Variablen.WaschmaschineLäuft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="/a!HgmdF.^EB2xq7y;S1"><field name="BOOL">TRUE</field></block></value> <next><block type="timeouts_cleartimeout" id="ij+%P=d`hw7^?O3GstDt"><field name="NAME">timeout</field></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="-bdM(WJB/tXH*6Wd2[Ed"><field name="OP">LT</field> <value name="A"><block type="get_value" id="nKfZA-s6-yTtU=xOXvuZ"><field name="ATTR">val</field> <field name="OID">sonoff.0.KL_Waschmaschine.ENERGY_Power</field></block></value> <value name="B"><block type="math_number" id="*yfTw|}zm;+Jr,awPzs_"><field name="NUM">1</field></block></value></block></value> <statement name="DO1"><block type="timeouts_settimeout" id="29cd`L/aEg;#2]a(R,%+"><field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="controls_if" id="m+[)#C=r1VeK_8}]=%,]"><value name="IF0"><block type="logic_operation" id="hr-gsMEPM%q-NFnrii^a"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="yjfRIE_PDs%FEPtMWf#l"><field name="OP">LT</field> <value name="A"><block type="get_value" id="kN%Iy1mht+ua8v#+IKy*"><field name="ATTR">val</field> <field name="OID">sonoff.0.KL_Waschmaschine.ENERGY_Power</field></block></value> <value name="B"><block type="math_number" id="jMA/e%Pyb9J8Y{wRFl*N"><field name="NUM">1</field></block></value></block></value> <value name="B"><block type="logic_compare" id="{j@yrT3dQzuUj|7N(1.O"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="UCSz[z*556|oVd-!eh%V"><field name="ATTR">val</field> <field name="OID">javascript.0.Variablen.WaschmaschineLäuft</field></block></value> <value name="B"><block type="logic_boolean" id="?m,?02hXT0%B%PIy~?h:"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="update" id="d@I:Qh,1V#fRsSbcl6gg"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Variablen.WaschmaschineLäuft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="=VFU/ydj[Fm~(%88LVMX"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id=",8U1xB5JXi7!nbI]?F/~"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LF1180460A83.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="ypwmhPceWWtAQ2?cip*N"><field name="TEXT">Waschmaschine ist fertig</field></block></value></block></next></block></statement></block></statement></block></statement></block></statement></block></xml> Skript 2 (Abfrage) <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id=",Xs6rgXXrZE%lqakexV~" x="-337" y="-112"><field name="OID">javascript.0.Variablen.FrageWaschmaschine</field> <field name="CONDITION">any</field> <statement name="STATEMENT"><block type="controls_if" id=".xQ#k[`.dK[s:x}CKJq,"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="xG]`-FP=}|ITpc*kUG4V"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="L(QYQJ,??ZON6_X9V-st"><field name="ATTR">val</field> <field name="OID">javascript.0.Variablen.WaschmaschineLäuft</field></block></value> <value name="B"><block type="logic_boolean" id="yBjX@tdnr5DIDybs3jZv"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="control" id="ItYQsZ^9b.=S/l0bWzU?"><mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LF1180460A83.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="text" id=",K`3%4I8x5:BN~@iTynJ"><field name="TEXT">Nein, die Waschmaschine läuft noch.</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="/E}|(0WPbcK?:h83#A5("><field name="OP">EQ</field> <value name="A"><block type="get_value" id="hNXU!-!)PkNaC2+~WF[*"><field name="ATTR">val</field> <field name="OID">javascript.0.Variablen.WaschmaschineLäuft</field></block></value> <value name="B"><block type="logic_boolean" id="9*j#){HO?uZNDd7JUC}H"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO1"><block type="control" id=".zQ;]QPSO0^h2B8l.ExU"><mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LF1180460A83.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="text" id="0r_{;K7futg}Cx1RS;PW"><field name="TEXT">Ja, Waschmaschine ist fertig.</field></block></value></block></statement></block></statement></block></xml> @ingod Kannst Du mir helfen, bitte? Ich hab dein Script mal bei mir eingebunden..... javascript.0 2021-06-02 20:34:52.915 warn (2137) at processTimers (internal/timers.js:497:7) javascript.0 2021-06-02 20:34:52.914 warn (2137) at listOnTimeout (internal/timers.js:554:17) javascript.0 2021-06-02 20:34:52.914 warn (2137) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2105:34) javascript.0 2021-06-02 20:34:52.913 warn (2137) at Object.<anonymous> (script.js.Skript_1:12:70) javascript.0 2021-06-02 20:34:52.898 warn (2137) getState "javascript.0.Variablen.WaschmaschineLäuft" not found (3) mir scheint da dieses javascript.0 zu fehlen...wie mache ich das? UPDATE....Ahso...ich musste nen Datenpunkt erzeugen.
  • Script Router neustarten (Ubiquiti UniFi Dream Machine UDM)

    7
    1
    0 Stimmen
    7 Beiträge
    589 Aufrufe
    D
    @paul-ol Ein Ansatz: https://gist.github.com/sjwilliams/2ab579cd4d96129f73bc34e181bc9ea4 Per ssh auf die udm und den reboot ausführen. Grundsätzlich: Vergesse nicht die Ursache für dein Problem zu suchen.
  • [Gelöst] Echo Sprachausgabe prüfen und ggfs. wiederholen

    6
    0 Stimmen
    6 Beiträge
    536 Aufrufe
    apollon77A
    @padrino der Adapter macht da nix bzw filtert nix. Scheinbar gilt das eine als hättest du „alexa sprich mir nach ....“ gesagt was ein Kommando ist und das ssml ist was anderes
  • Grundsatzfragen zu API

    8
    0 Stimmen
    8 Beiträge
    499 Aufrufe
    Roger SpoR
    @mickym Ich hab es nun hinbekommen. Mit dem exec Befehl einfach das CURL Kommando senden.
  • Unterschied zwischen den timeout und Stop Blöcken

    1
    0 Stimmen
    1 Beiträge
    168 Aufrufe
    Niemand hat geantwortet
  • Datenpunkt erstellen, was mache ich falsch?

    3
    0 Stimmen
    3 Beiträge
    340 Aufrufe
    J
    @paul53 said in Datenpunkt erstellen, was mache ich falsch?: on({id: "kecontact.1.i1"/Current 1/, change: "any"}, async function (obj) { setState("javascript.0.Keba_leistung"/Keba_leistung/, obj.state.val * 242 / 1000, true); }); DANKE :)
  • PC an-/ausschalten

    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    C
    Würde es auch über WOL machen. Hatte es vorher über Steckdose, aber im Endeffekt zu viele unschöne Seiteneffekte dadurch gehabt. Zum Ausschalten kannst du dann je nach System den Linux Control Adapter, WindowsControl Adapter oder mein Skript einsetzen.
  • Skript nur in bestimmten Monaten ausführen *gelöst*

    9
    2
    0 Stimmen
    9 Beiträge
    249 Aufrufe
    Dr. BakteriusD
    @surfer09 Du kannst dir die Prüfung nach Tag sparen wenn du sowieso den ganzen Monat nimmst. Und ich würde die Prüfung umkehren. Also 'falls NICHT [Monatsnummer >3 und Monatsnummer <10]'. Aber wie du schon gemerkt hast, es führen viele Wege ans Ziel.
  • setState String vs. Number

    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    mrFenyxM
    @paul53 yeah, I thought so. Created a new issue for vis: https://github.com/ioBroker/ioBroker.vis/issues/372
  • TR-064 Callmonitor stumm trotz Adapter (grün)

    26
    1
    0 Stimmen
    26 Beiträge
    2k Aufrufe
    crunchipC
    @hans-k siehe meinen Beitrag mit dem screen und SIP muss im unifi controller deaktiviert werden
  • Kostal Wechselrichter MP Plus

    javascript template communication
    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    NamrennerN
    @paul53 danke, habe dies installiert, ohne Fehler Meldung, aber kommt nix, unter Instanzen ist dieser Adapter nicht da, unter Adapter zeigt installiert an.? PS: gibt es keine Möglichkeit direkt die Werte beim Wechselrichter auszulesen, dank
  • Kanal beeinflussen im HmIP-DRBLI4 mittels ioBroker

    1
    0 Stimmen
    1 Beiträge
    86 Aufrufe
    Niemand hat geantwortet
  • Brauche mal einen Tipp

    16
    2
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    Chris 5C
    @paul53 Ahh Ok, dann würde das Sinn machen den Channel so wie das Gerät zu nennen, also "Thermometer". Sollten sich dann meherer batteriebetriebene Gerärte in einem Raum befinden weiß man welches der Geräte gemeint ist. Schlau
  • Mit Blockly Trigger einen Ordner überwachen

    3
    0 Stimmen
    3 Beiträge
    254 Aufrufe
    liv-in-skyL
    @dennis-bolik wie paul sagt: [image: 1621839459749-image-1.png]
  • [gelöst] Datenpunkt aktualisieren aus Grafana ?

    2
    1
    0 Stimmen
    2 Beiträge
    387 Aufrufe
    A
    Ich habe eine Lösung gefunden. Das geht mit iframe :) . Ich mach den Button einfach in der Vis und bette diese in Grafana ein. You can use Grafana's standard "Text" panel. Set Display->Mode->HTML in panel settings and add <iframe src="http://your.external.web.page.url"></iframe> in panel content editor. [image: 1621762614669-63b2885c-c886-40ed-b0a2-90c892f79464-image.png]
  • Fehler, wie z.B. Timeouts, abfangen

    blockly communication
    8
    1
    0 Stimmen
    8 Beiträge
    909 Aufrufe
    Dr. BakteriusD
    @paul53 sagte in Fehler, wie z.B. Timeouts, abfangen: Error-Log ist im Blockly-request fest eingebaut Das ist !

631

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge