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": [] } ]
  • telnet befehle senden und auslesen, pioneer

    7
    0 Stimmen
    7 Beiträge
    868 Aufrufe
    J
    @ilovegym danke!
  • [gelöst] Datenpunkt über SSH Verbindung beschreiben

    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    B
    @oliverio Tut mir leid ich denke wir haben einfach an einander vorbei geredet... Ich konnte den Datenpunkt jetzt wie du beschrieben hast mit dem Block "Inhalte von URL abrufen" beschreiben. Nachdem es im Browser ebenfalls nicht funktioniert hat, hab ich das Tablet neu Verbunden. Jetzt klappts! Das Problem lag nicht am Block sondern am Tablet selbst...
  • zwave2 und Spirit-Thermostat

    13
    1
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    D
    @paul53 Danke, die Idee ist tatsächlich ziemlich hilfreich. Dann muss ich mir da mal was in TS zusammenbasteln. Blockly ist nicht so ganz meins.
  • $Selector für Objekte

    8
    0 Stimmen
    8 Beiträge
    776 Aufrufe
    paul53P
    @coalado sagte: log($("alias.0.*")) enthält alias.0.example auch nicht mehr Das kann ich bei mir (JS 7.4.0) nicht nachvollziehen: [image: 1702300925224-selektor_ohne_zustand.jpg]
  • getState im vis Script

    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    OliverIOO
    @mike1429 ok, dann musst du im javascript diese verschiedenen zustände auswerten und den richtigen bildnamen in den datenpunkt reinschreiben. bei dem gelben symbol müsstest du wahrscheinlich noch die ack-information des datenpunktes auswerten. false=wert ist gesetzt aber noch nicht bestätigt, true=wert wurde gesetzt und durch den adapter/bzw des eigentlichen gerätes bestätigt. das mag zwar gleich komplex sein, aber es ist der vis-Weg. Der vis-weg sollte für die zukunft auch noch möglich sein. die javascript-funktionen mit vis.states.attr sind sozusagen inoffiziell und nicht dokumentiert. d.h. es besteht in zukunft keine garantie, das es so bleibt. aktuell wird vis2 entwickelt. vis2 verwendet react, also ein komplett anderes framework. man hat glück, das eine kleine kompatibilitätsschicht eingefügt wurde, so das vis1 dinge noch funktionieren, aber es hätte auch anders kommen können.
  • Backup von Scripten wiederherstellen...JSON->XML

    7
    0 Stimmen
    7 Beiträge
    692 Aufrufe
    ?
    @codierknecht okay verstehe :-) na so gehts ja auch, und kann jetzt auch mal meine ganzen Skripte etc auch schön ordnen etc.. hatte oft Sachen ausprobiert, nicht gelöscht etc da wars eh schon recht unübersichtlich bei mir muss ich zugeben :-)
  • JS / connection-status der linkeddevices anzeigen

    3
    1
    0 Stimmen
    3 Beiträge
    331 Aufrufe
    R
    @arteck ah! Sehe ich mir an 😀
  • Merkwürdiges Verhalten bei MQTT Command

    12
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    K
    @homoran ok, danke! Ich gehe mittlerweile auf die 70 zu und merke selber, dass mir das Denken nicht mehr so leicht fällt wie früher. Und das Schreiben somit wohl auch nicht. Ich versuche schon, mir Mühe zu geben und alles so zu formulieren, dass es verständlich rüber kommt. Aber es gelingt mir leider nicht immer. Wie gesagt, tut mir leid... Trotzdem bin ich froh, dass es dieses Forum gibt und habe alle Achtung vor den Leuten, die so viel Ahnung haben und sich die Mühe machen zu helfen.
  • Erstellung einer SQL-Tabelle

    6
    0 Stimmen
    6 Beiträge
    821 Aufrufe
    ChristianSrC
    @haus-automatisierung Tatsächlich fing ich mein projekt zunächst mit influxdb an, da ich den gleichen Gedanken hatte. Die Datenbank-Struktur finde ich grundsätzlich gut und mit Flux bin ich gut klar gekommen, allerdings empfinde ich die Arbeitsumgebung mühsam. Ich habe keinen unkomplizierten Weg gefunden in die Daten zu schauen. Es gibt einfach keinen guten Abfrage-Editor in dem ich mal ein paar Flux-Abfragen speichern könnte und durch die Tabellen browsen (analog MySQL Workbench). Den Data Explorer finde ich nicht gelungen! Mir ist es nicht gelungen meine Docker-InfluxDB an Python / Anaconda (https://forum.iobroker.net/topic/68107/python-zugriff-auf-influxdb-im-docker/23) oder Power BI (influxdb-Forum) zu anzudocken um mit den Daten ein wenig mehr zu arbeiten. Außerdem bin ich unsicher wie die Zukunft von InfluxDB aussieht. Ich habe den Eindruck, dass noch recht viel Entwicklung passiert (und passieren muss). Ob das dann jeweils auch für nicht-zahlende Nutzer zur Verfügung steht ist scheinbar noch offen.
  • Objekte ohne ACK ermitteln

    5
    0 Stimmen
    5 Beiträge
    564 Aufrufe
    mcm1957M
    @andreas_n said in Objekte ohne ACK ermitteln: Wird ein device schalte, dann wird das ACK-Bit zunächst auf false und später dann vom Adapter zurück auf true gesetzt. Ich nun möchte die Datenpunkte ermitteln, die nicht zurück auf true gesetzt worden sind. Bitte bei diesem Ansatz nicht vergessen, dass eine Bestätigung durch den Adapter nicjht zwingend ist - wobei im Beispiel des Schalters wohl eine Feedback vom Gerät und damit ein ACK gegeben sein sollte. Aber insbesondere States mit der role Button haben keinen lesbaren Wert und müssen vom Adapter nicht zwingend bestätigt werden. Da diese oft auch nicht einem zurückgemeldeten Wert des Gerätes entsprechen kann es suchaus sein, dass hier ein sck=false normal ist.
  • Wärmeenergie berechnen - geht das?

    24
    1
    0 Stimmen
    24 Beiträge
    2k Aufrufe
    HomoranH
    @ullij sagte in Wärmeenergie berechnen - geht das?: Eigentlich ist der Gegendruck zu hoch und der sollte mit geringerer Flussrate niedriger werden. Ob dann noch genug fliesst ist natürlich fraglich, andererseits schreib @patrick-0 sagte in Wärmeenergie berechnen - geht das?: Hat(te) den Hintergrund, wenn der Volumenstrom zum Schwedenofen zu hoch ist, wird die Wärme zu schnell abgeführt und es war somit ein stetiges "Takten" der Pumpe also wäre es möglich, dass weniger besser sein könnte
  • Alias ist nicht synchron: Bug oder Verständnisproblem?

    13
    2
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    MartinPM
    @ticaki said in Alias ist nicht synchron: Bug oder Verständnisproblem?: EDIT und wenn da was mit dem Alias arbeitet und zurückschreibt, kanns auch ein ping-pong wegen rundungsunterschieden geben. Das ist ein sehr schöner Hinweis .. Von da her ist es wahrscheinlich wirklich sehr empfehlenswert im Alias-Tree in den Einstellungen der einzelnen Endknoten alles wegzuklicken, was nicht gebraucht wird ... Bei Aliasen, die nur gelesen werden sollen, den Schreib-Haken weg, und bei denen, die geschrieben werden sollten den Lese-Haken (? wobei ich da nicht sicher bin)
  • [gelöst] javascript-Adapter Speicherort

    Verschoben
    16
    0 Stimmen
    16 Beiträge
    7k Aufrufe
    MartinPM
    @homoran Genau, habe aber inzwischen selber gefunden, wo mein Knoten lag... Kannte diesen Punkt hier ("Alle Skripte exportieren"), hatte mir aber den Output nie genau angeschaut... [image: 1701969442355-443c41ef-d5b9-43f0-bf47-b8a83b547454-grafik.png] Habe ich jetzt nachgeholt - die Dateiendung der im generierten Zip-File gepackten Dateien ist zwar json, aber es sind mehr oder weniger die gewünschten Javascript Dateien ...
  • Mehrere Werte Trennen

    javascript
    44
    1
    0 Stimmen
    44 Beiträge
    4k Aufrufe
    E
    @mickym
  • "Steuere" und "Aktualisiere" Vermeiden?

    10
    1
    0 Stimmen
    10 Beiträge
    589 Aufrufe
    MartinPM
    Hier noch ein Link auf etwas Hintergrundinformation. https://dev.to/_staticvoid/node-js-under-the-hood-10-compiler-optimizations-5dol "In Line Expansion" scheint ein Sonderfall zu sein. Wäre die Frage, WARUM man das forcieren sollte. Der Regelfall scheinen wirklich Funktionsaufrufe mit Stack und allem Pipapo, wie in fast allen anderen Programmiersprachen auch zu sein...
  • Parsing Website Autogas

    26
    2
    0 Stimmen
    26 Beiträge
    3k Aufrufe
    FlexerF
    @marc-berg Ich habs jetzt hinbekommen jedoch musste ich dem Datenpunkt den die Rolle Value zuweisen. Jetzt wird es geloggt.
  • Dacia mit Renault Instanz vorwärmen

    1
    2
    0 Stimmen
    1 Beiträge
    173 Aufrufe
    Niemand hat geantwortet
  • Wie mit MQTT Daten in der IOBroker VIS justgage anzeigen?

    155
    0 Stimmen
    155 Beiträge
    18k Aufrufe
    E
    @mickym Da muss ich mal grinsen, nee mit Puzzeln hab ich nichts am Hut... Da such ich hier doch mal einige Fehler und Lerne etwas dazu. Also machs gut und nochmals Danke.
  • Wie formuliert man "letzte Änderung"

    11
    0 Stimmen
    11 Beiträge
    862 Aufrufe
    W
    @chris-1 Mit der rechten Maustaste anklicken und externe Eingänge auswählen. Gruss, Jürgen
  • Präsenzmelderfunktion mit Fehlern

    3
    3
    0 Stimmen
    3 Beiträge
    230 Aufrufe
    B
    @matzeit Ich habe den Sonoff ZBmini durch einen Aquara Single Switch Module T1 ersetzt. Jetzt funktioniert alles, es war wohl etwas defekt bei dem Sonoff. Lux-Werte erhalte ich, immer genau zu dem Zeitpunkt an dem der Präsenzmelder auslöst, also nicht kontinuierlich. Gruß Winfried

405

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge