Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.6k 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
    J
    Hallo, anbei das nun fertige Skript im ersten Post.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    AsgothianA
    @tiobb sagte: @Asgothian sagte: Sicherer ist aber auch da die überwachung der letzten Aktualisierung des Datenpunktes den du dir anzeigen lässt, so wie du das schon bei den Temperatursensoren machst, aber Senden diese Batterie betriebenen Sensoren nicht viel zu selten ein Lebenszeichen? Ich dachte man könnte irgendwie überwachen wenn der Datenpunkt available auf false geht Was glaubst du denn wie der available State gesetzt wird ? Das geht auch danach wie lange der Sensor sich nicht gemeldet hat. Nur das du da nicht selber eintragen kannst wie lange sie offline sein dürfen, sondern an die im entsprechenden Adapter fest hinterlegten Zeiten gebunden bist. A.
  • Hilfe für Skripterstellung mit Node-RED

    961 13k
    961 Themen
    13k Beiträge
    Marc BergM
    Man kann einen Flow von außen neu starten, indem man ihn per API deaktiviert und wieder aktiviert. Nicht sehr elegant, aber geht. Hier ein Flow dazu, das könnte man auch im Skript abbilden (hostname und Flow-ID im Inject Node anpassen: [ { "id": "0101b52dd8b0e69c", "type": "inject", "z": "tab_restart", "name": "Flow neu starten", "props": [ { "p": "baseUrl", "v": "http://nuc.fritz.box:1880", "vt": "str" }, { "p": "flowId", "v": "56a35d28dbb8d4c1", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": "", "topic": "", "x": 160, "y": 140, "wires": [ [ "ffb73632947a1b74" ] ] }, { "id": "ffb73632947a1b74", "type": "http request", "z": "tab_restart", "name": "GET /flow/:id", "method": "GET", "ret": "obj", "paytoqs": "ignore", "url": "{{{baseUrl}}}/flow/{{flowId}}", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 370, "y": 140, "wires": [ [ "78e47724692d9c26" ] ] }, { "id": "78e47724692d9c26", "type": "change", "z": "tab_restart", "name": "deaktivieren", "rules": [ { "t": "set", "p": "flow", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "flow.disabled", "pt": "msg", "to": "true", "tot": "bool" }, { "t": "set", "p": "payload", "pt": "msg", "to": "flow", "tot": "msg" }, { "t": "set", "p": "headers", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "headers.content-type", "pt": "msg", "to": "application/json", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 140, "wires": [ [ "b570b346c80301a6" ] ] }, { "id": "b570b346c80301a6", "type": "http request", "z": "tab_restart", "name": "PUT (aus)", "method": "PUT", "ret": "obj", "paytoqs": "ignore", "url": "{{{baseUrl}}}/flow/{{flowId}}", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 770, "y": 140, "wires": [ [ "a062c2baa0932d3e" ] ] }, { "id": "a062c2baa0932d3e", "type": "delay", "z": "tab_restart", "name": "1s warten", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "outputs": 1, "x": 960, "y": 140, "wires": [ [ "664a32887d83b305" ] ] }, { "id": "664a32887d83b305", "type": "change", "z": "tab_restart", "name": "aktivieren", "rules": [ { "t": "set", "p": "flow.disabled", "pt": "msg", "to": "false", "tot": "bool" }, { "t": "set", "p": "payload", "pt": "msg", "to": "flow", "tot": "msg" }, { "t": "set", "p": "headers", "pt": "msg", "to": "{}", "tot": "json" }, { "t": "set", "p": "headers.content-type", "pt": "msg", "to": "application/json", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 140, "y": 220, "wires": [ [ "83d399c90d46240f" ] ] }, { "id": "83d399c90d46240f", "type": "http request", "z": "tab_restart", "name": "PUT (ein)", "method": "PUT", "ret": "obj", "paytoqs": "ignore", "url": "{{{baseUrl}}}/flow/{{flowId}}", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 320, "y": 220, "wires": [ [ "529c0e1896d1f278" ] ] }, { "id": "529c0e1896d1f278", "type": "debug", "z": "tab_restart", "name": "Ergebnis", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 480, "y": 220, "wires": [] } ]
  • [gelöst] Blockly: JSON mit Regex aus Variable auslesen

    26
    1
    0 Stimmen
    26 Beiträge
    5k Aufrufe
    mickymM
    @chris-1 Mit Node-Red würdest Du Dir halt soviel leichter tun, als mit dem Puzzeln - aber ehrlich gesagt, bin ich es langsam müde mich da zu wiederholen. ;)
  • Script für Stromverbrauch und Vis

    javascript blockly
    2
    0 Stimmen
    2 Beiträge
    322 Aufrufe
    paul53P
    @jhuebner1 sagte: ich finde in der Suche auf die schnelle nichts.... Dann suche mal "Periodenwerte" im Forum.
  • Ausgabe Werten bei stündlichem Abfragen unklar

    28
    2
    0 Stimmen
    28 Beiträge
    1k Aufrufe
    P
    @paul53 Danke, habe das jetzt einige Zeit im Einsatz und macht was ich wollte. [image: 1704202167640-bildschirmfoto-2024-01-02-um-14.29.22.png] Ich wollte mit diesem Verbrauch ermitteln was mich die Ladung der Batterie kostet. Mit dem DP Bat_Laden_Kosten ermittle ich die Werte pro geändertem Preis. Eine Frage wie kann man aus dem Ansatz eine Endsumme für den Ladevorgang errechnen? Eine Variable und einen neuen Datenpunkt zur Zwischenspeicherung erzeugen oder geht das einfacher? [image: 1704203152616-bildschirmfoto-2024-01-02-um-14.45.46.png]
  • Geräte in Szenen ein- und ausschalten per Alexa

    1
    0 Stimmen
    1 Beiträge
    149 Aufrufe
    Niemand hat geantwortet
  • Fehlerhafte Implementierung von formatDate?

    10
    4
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    haus-automatisierungH
    @tjaden Hier die Erklärung zu Deinem Denkfehler in ausführlicher: https://youtu.be/sxkz3O6nfFQ
  • (Gelöst) Fehler bei Javascript Neustart

    javascript
    6
    0 Stimmen
    6 Beiträge
    725 Aufrufe
    T
    @siggi0904 sagte in (Gelöst) Fehler bei Javascript Neustart: Ich bekomme die Warnungen auch. Ich hatte immer den npm node-mihome in Verdacht. Diesen hatte ich nämlich im Javascript-Adapter eingebunden. Aber scheinbar kommt die Meldung von Javascript-Adapter selbst. request ist im Javascript Adapter verfügbar und wird dort wohl als aller letztes entfernt. Das ist ein bedeutender Breaking Change, der viele Nutzer zum Handeln auffordert. IMHO sollte beim starten eines Skripts mit request() eine Warnung kommen, natürlich erst wenn das in Blockly nicht mehr der Fall ist, und dann ein Jahr später kanns entfernt werden oder so.
  • CallMeBot Probleme "limit of 50 messages per 240 minutes"

    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    H
    @paul53 said in CallMeBot Probleme "limit of 50 messages per 240 minutes": Die erste Nachricht wird um 10 min verzögert. es kamm zeit gestern keine Nachricht an :( bei einem Intervall von 10min.
  • Sonos Radiosender Blockly

    3
    0 Stimmen
    3 Beiträge
    255 Aufrufe
    T
    @djmarc75 : Danke für deine Antwort. Wenn ich das Blockly wie folgt aufsetze, wird leider der Radio Sender nicht abgespielt. Muss ich noch anderswo Anpassungen vornehmen? [image: 1703913836054-2023-12-30-06_21_55-javascript-smarthomeraspi.png] EDIT 1: In der Sonos App ist unter Favoriten der Radiosender unter Sender abgelegt. VG Takahara
  • Tasmota Scripting, warum geht es nicht mehr ?

    2
    0 Stimmen
    2 Beiträge
    468 Aufrufe
    B
    ich hab die Lösung gefunden, falls es noch jemanden interessiert Zuerst SetOption64 1 in der Konsole eingeben, dadurch ändert sich der Alias auf AM2301_00 Also Unterstrich statt Bindestrich, damit klappt das Script nun wieder :)
  • JSON String mit Blockly auseinandernehmen

    15
    1
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    HomoranH
    Habt ihr mich alle geblockt, dass ihr meine Antworten nicht seht?
  • [SOLVED] if - if else Logik Problem

    8
    0 Stimmen
    8 Beiträge
    929 Aufrufe
    T
    @iphilbln Javascript-Adapter neustarten, das verhalten ist nicht nachvollziehbar. Das Skript ist in der obrigen Version nicht gegen mehrfach Aufruf gesichert. Nicht gut.
  • NSPanel SONOFF Typescript schleift (TFT Firmware)-(erledigt)

    blockly javascript template
    23
    1 Stimmen
    23 Beiträge
    3k Aufrufe
    ArmilarA
    @ticaki sagte in NSPanel SONOFF Typescript schleift (TFT Firmware): Das scheint nicht zu gehen, gibt dazu auch kein Beispiel und popup gibts lt. Code nicht für thermostat. Oh doch ;-) <PageItem>{ navigate: true, targetPage: 'Level_4_Wohnzimmer_Thermostat', id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemp. °C', offColor: MSRed, onColor: MSGreen, useValue: true, fontSize: 0, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} }, Jetzt bist du in der Navigation angekommen... Mit navigate: true sagst du der Seite, dass sie den Navigationszweig durchläuft und mit targetPage definierst du das Ziel einer subPage... [image: 1703706257008-95677e25-4f37-4330-8ec0-bde897f87274-nextion_editor_9yv43bjt6a.gif] https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Navigation Bei dem Textabstand muss ich dich enttäuschen. Der liegt mit der HMI nicht in unserer Hand... Da müsstest du einen Issue unter: https://github.com/joBr99/nspanel-lovelace-ui/issues stellen EDIT: @TT-Tom war mal wieder schneller PS.: Die Werte ergeben im Context keinen Sinn - habe dafür ne Beispiel-Page kurz erweitert...
  • Radarsteuerung Licht <gelöst>

    3
    1
    0 Stimmen
    3 Beiträge
    437 Aufrufe
    G
    @paul53 Verehrter Blockly-Zauberer, dank Deiner Hilfe ist das Problem gelöst - funktioniert (nach den ersten Tests) wie gewünscht. Danke für die prompte Unterstützung. Schöne Weihnachten wünscht Michael
  • Script zur Überprüfung ob eine Instanz noch läuft.

    blockly javascript
    52
    0 Stimmen
    52 Beiträge
    11k Aufrufe
    paul53P
    @michihorn sagte: Multihost Umgebung geprüft werden? Mit Multihost kenne ich mich nicht aus.
  • [gelöst] Influxdb2 API Query, Ergebnis weiterverarbeiten

    2
    0 Stimmen
    2 Beiträge
    315 Aufrufe
    R
    Moin, hab jetzt für mich eine Lösung gefunden und wollte die mal hier einstellen, vielleicht hilft's ja mal irgendjemandem weiter. Ich bin von der Api-Query zum sendTo-Command gewechselt, der Weg sollte aber für die Api-Query vermutlich auch funktionieren, hab ich aber nicht ausprobiert. Wenn ich so im Nachhinein drauf gucke - eigentlich ganz einfach :-). Geht wahrscheinlich noch eleganter aber funktioniert für mich erstmal. function mysum(mybucket, mytime, mymeasurement, mymeasurement_json){ sendTo('influxdb.1', 'query', 'from(bucket: "'+mybucket+'") |> range(start: -'+mytime+') |> filter(fn: (r) => r["_measurement"] == "'+mymeasurement+'" and r["_field"] == "value")', function (result) { if (result.error) { console.error(result.error); } else { setState(mymeasurement_json, JSON.stringify(result)); } }); var ergebnis = 0.0, myjson = JSON.parse(getState(mymeasurement_json).val); for (var i = 0; i<myjson.result[0].length; i++) { ergebnis = ergebnis + myjson.result[0][i]._value; } return(ergebnis); }
  • Fenstersensoren Räume als Liste

    4
    1
    0 Stimmen
    4 Beiträge
    671 Aufrufe
    B
    @codierknecht Danke, funktioniert!
  • Laden wenn false

    17
    0 Stimmen
    17 Beiträge
    799 Aufrufe
    haus-automatisierungH
    @sborg sagte in Laden wenn false: Dein Trigger wird nun beim starten ausgeführt: Ist die Objekt-ID Is Fully alive? falsch ? --> Dann "steure..." Danach wird der Trigger nie wieder etwas machen, denn er hat seine Aufgabe erfüllt. Die Info ist nicht korrekt. Das ist einfach ein Trigger auf einen Wert. Immer, wenn der Wert false gesetzt wird, wird der Trigger ausgeführt. Nicht beim Start des Scripts - da wird der Trigger nur im System registriert (wie jeder andere Trigger auch).
  • Komisches Verhalten Datenpunkt (Angelegt mit JS)

    4
    1
    0 Stimmen
    4 Beiträge
    373 Aufrufe
    W
    @bahnuhr Ich habe den Datenpunkt nochmal neu anlegen lassen - Bisher scheint es zu funktionieren. Mal sehen...
  • Wert manuell vs. Wert über Blockly/Skript

    5
    2
    0 Stimmen
    5 Beiträge
    378 Aufrufe
    M-A HuebM
    @codierknecht Hab ich schon getestet. Leer gemacht, anderen Text vorher reingeschrieben. Sobald es aus Blockly kommt tut es nicht
  • 0 Stimmen
    66 Beiträge
    28k Aufrufe
    M
    Sorry für die dumme Frage aber wie bekomme ich die Vis-txt umgestellt das ein 2. Stecker benutzt wird? Wenn ich den Vis .txt das 2 mal einfüge stürzt der Vis Editor immer ab.

411

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge