Skip to content

Skripten / Logik

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

16.6k Themen 214.0k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    portyP
    Guten Morgen @schimi wie bereits im EDIT erwähnt funktionierte es ab dem nächsten Morgen doch. HEMS war deaktivert und auch die anderen Settings (SmartMode Off etc ) waren so eingestellt wie du es mal in irgend einem Post mal erwähnt hattest. Device ID etc war natürlich drin, sieht man in meinem Bild schlecht da schwarz auf schwarz ausgeblendet :) wir waren unterwegs an dem Tag und ich hatte es nur in der App gesehen das der Modus auf "Standby" stand obwohl wir zu dem Zeitpunkt einen Verbrauch von ca. 450W hatten. Habe dann in der App auf "Netzausgangsmodus" gestellt. Am nächsten Morgen dann das Script gestoppt, den Modus von Hand über den MQTT-Datenpunkt geändert was auch funktionierte. Was ich nicht drin hatte da es als "optional" eingetragen war, war der Datenpunkt "evccModus: "0_userdata.0.zendure.EVCC_Modus", diesen hatte ich noch hinzugefügt. Danach mal das Script von @maxclaudi gestartet und den Modus darüber ungestellt, auch erfolgreich. Gestern hat es mit deinem Script jedenfalls wunderbar funkioniert, wobei ich auch schon überlegt habe nich auf 0 sondern eher auf Minimalbezug zu stellen. Habe den Aktuellen Stromverbrauch mal auf meine Ulanzi TC001 gelegt und das springt nicht schlecht :) Danke fürs Update von deinem Script, schaue ich mir nachher Zuhause mal an.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    Murphy 0M
    Bei 19% hat das Blockly abgeschaltet. Seit 2 Tagen nicht kalibriert. [image: 1773614994393-img_3949-resized.png]
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • Node Red Module installieren

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    986 Aufrufe
    Niemand hat geantwortet
  • Meldung für Tür-/Fenstersensor von Xiaomi nach X Zeit - Blockly

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    S
    Auf Änderung triggern und vor den Start des timeouts ein Stop Timeouts.so klappt es bei mir Gesendet von iPad mit Tapatalk
  • Spotify Premium Adapter klick Button mit Javascript

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    598 Aufrufe
    N
    Habs herausgefunden. EInfach mit setState setState("spotify-premium.0.getDevices"/*refresh device list*/,true) Zweiteres hab ich Nicht mehr vorhandene Playlisten löschen den Haken nicht gesetzt. Nach dem setzten scheint bei allem den State "Play this Playlist" vorhanden zu sein.
  • Log File schreiben aus Node Red Function

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    R
    Also node.warn und node.error schreiben auch ins ioBroker-Log. [image: 3999_log.png] Normaler Weise kannst du mit node.log eigene loggings und nr-metriken loggen. Das muss in der /opt/iobroker/node_modules/iobroker.node-red/settings.js konfiguriert werden. Siehe: https://nodered.org/docs/user-guide/logging In der Standard Node-Red Version geht das auch problemlos. Wo der die Konsolen-Ausgabe beim iobroker-node-red hinleitet, habe ich noch nicht rausgefunden. Falls das für die wichtig ist, stelle doch mal ne Anfrage auf GitHub
  • (Gelöst) Mit Blockly auf enthaltenen Text reagieren

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    976 Aufrufe
    W
    kein Problem. Helfe gerne ;-)
  • (Gelöst) Skript für Status bei Raum Temperatur änderung

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    361 Aufrufe
    R
    Danke für die Schnelle antworten. Die Änderung mit den mittleren Teil hat funktioniert, da habe ich wohl zu Kompliziert gedacht.
  • Title in TopBar

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    143 Aufrufe
    Niemand hat geantwortet
  • Node Red Persistence Funktion einschalten

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    6k Aufrufe
    R
    @Garf: … Wenn ich mir jetzt vorstelle wieviele Schreib- und Lesezyklen da hinzukommen, wird sich die Lebensdauer einer SD-Karte enorm verkürzen. Wäre es deshalb nicht sinnvoller einer diese Varianten zu verwenden? ` Da hast du absolut recht. Das Thema ist recht komplex. Falls du da tiefer einsteigen willst: https://nodered.org/docs/api/context/ https://nodered.org/docs/api/context/st … filesystem @Garf: Wobei ich mir dann die Frage stelle wie man dies dann in einem change-Node beim Setzen einer flow- oder globale Variablen macht. ` Das ist ganz clever gemacht. Siehe hier: https://discourse.nodered.org/t/a-guide … xt/4115/45 @Garf: Ein Sache konnte ich bisher noch nicht nachvollziehen:… ` Die Dateien werden nur gebildet, wenn du innerhalb eines function-nodes den node.context benutzt. Gebildet werden sie dann automatisch. [image: 3999_persistent_1.png] @Garf: Du solltest dein Wissen mal in einem Buch niederschreiben. ` So schnell, wie du lernst, wäre das ein alter Hut für dich, wenn es erscheint;-)
  • NUC/ioBroker mit Schalter neustarten

    Verschoben
    3
    3
    0 Stimmen
    3 Beiträge
    423 Aufrufe
    S
    Ja, ist aktiviert. 16940_image_011.jpg
  • Zwei Strings verbinden

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    575 Aufrufe
    H
    Genauso funktioniert es ! Danke :D
  • [Frage] Baustein "Ausführen im Intervall"

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    194 Aufrufe
    Niemand hat geantwortet
  • Rolladen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    326 Aufrufe
    L
    Welcher Aktor steuert denn das Rollo? Ich habe jetzt das shutter + jqui Dialog für die Shellys genommen… Wie soll denn deine Vis aussehen? Hast du dich auf Metro festgelegt?
  • [Vorlage] Rolladensteuerung (ein bisschen aufwendig)

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    419 Aufrufe
    Niemand hat geantwortet
  • [Blockly] Intervall bei Minusgraden schalten

    Verschoben
    3
    2
    0 Stimmen
    3 Beiträge
    694 Aufrufe
    S
    @Xyolyp: Ich sehe leider nicht direkt wo das Problem in dem Blockly ist, allerdings wäre mein Vorschlag nicht festgelegt eine halbe Stunde zu heizen, sondern so lange bis die Temperatur (0°C) erreicht ist. Evtl könntest du auch um häufiges ein- und ausschalten zu vermeiden die Heizung bei -1°C einschalten und bei +2°C ausschalten. Dann ist es immer in etwa 0°C warm und du musst dich nicht mit Timern rumplagen. ` Danke dir Xyolyp, Vielleicht muss ich noch dazu sagen, dass die Temperatur von meinem Außensensor im Garten erfasst wird. Nicht die Wassertemperatur selbst. Die Heizung wird sehr schnell warm und verbraucht ca. 40W. Sie muss nicht rund um die Uhr bei Minusgraden laufen. Das reicht immer nur eine Zeit lang damit das Wasser nicht einfriert. Ich wollte dies auch mal mit dem Intervall testen aber irgendwie habe ich einen Fehler drin… Grüße, Jens
  • 0 Stimmen
    18 Beiträge
    6k Aufrufe
    G
    @Garf: Mir auch nicht, deshalb habe ich mir deinen Flow mal genauer angesehen. Du hast einige Dinge da drin, die überhaupt keine Funktion haben. Aus dem gesamten Strang mit dem json-Node kommt kein Ergebnis heraus. ` Ich möchte es mal wie unsere Politker halten. Was interessiert mich mein Geschwätz von gestern. Kurzum meine Bewertung ist falsch, der Fehler lag auf meiner Seite. Nachdem mich rewenode auf den richtigen Weg gebracht hat, habe ich meinen Fehler erkannt und korrigiert. Zu meiner Entschuldigung schiebe ich die Schuld mal auf die inject-Node Ersatzvornahme für das MQTT-Input-Node. Als Wiedergutmachung hier die gewünschte Funktion: @Der_LuLe: Wie kann ich das umstellen das es mit 2 MQTT-Werten arbeitet. Also: "Rücklauf+10" > "Vorlauf" dann Aus, sonst An. ` ! ```` [{"id":"4a6fddc5.f5f2ac","type":"json","z":"de87f48f.fcaa78","name":"","property":"payload","action":"","pretty":false,"x":270,"y":960,"wires":[["15c68f96.25799"]]},{"id":"8706c33.a5797c","type":"debug","z":"de87f48f.fcaa78","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","x":710,"y":1040,"wires":[]},{"id":"f3cfb437.1faf6","type":"inject","z":"de87f48f.fcaa78","name":"VT aus MQTT","topic":"","payload":"{"Time":"2019-01-01T19:39:30","AM2301":{"Temperature":22.7,"Humidity":57.5},"TempUnit":"C"}","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":960,"wires":[["4a6fddc5.f5f2ac"]]},{"id":"33238960.049676","type":"inject","z":"de87f48f.fcaa78","name":"RT aus MQTT","topic":"","payload":"{"Time":"2019-01-01T19:39:30","AM2301":{"Temperature":19.7,"Humidity":57.5},"TempUnit":"C"}","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1020,"wires":[["2ae5b151.4f6ea6"]]},{"id":"2ae5b151.4f6ea6","type":"json","z":"de87f48f.fcaa78","name":"","property":"payload","action":"","pretty":false,"x":270,"y":1020,"wires":[["752c058f.78feb4"]]},{"id":"15c68f96.25799","type":"change","z":"de87f48f.fcaa78","name":"VT_Temp_Istwert","rules":[{"t":"set","p":"VT_Temp","pt":"flow","to":"payload.AM2301.Temperature","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":470,"y":960,"wires":[["62a72741.bd956"]]},{"id":"752c058f.78feb4","type":"change","z":"de87f48f.fcaa78","name":"RT_Temp_Istwert","rules":[{"t":"set","p":"RT_Temp","pt":"flow","to":"payload.AM2301.Temperature","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":470,"y":1020,"wires":[["62a72741.bd956"]]},{"id":"62a72741.bd956","type":"function","z":"de87f48f.fcaa78","name":"Temp aus MQTT","func":"var dt = flow.get("SW_dt"); // Vorgabe Temperaturdiffernz VT zu RT\nvar VT = flow.get("VT_Temp"); //Messwert Vorlauftemperatur\nvar RT = flow.get("RT_Temp"); //Messwert Ruecklauftemperatur\n// Wertevergleich\n\nnode.send({payload: {"VT_Temp": VT,\n "RT_Temp": RT,\n "SW_dt": dt,\n "RT + dt": (RT+dt)}});\nif ((RT+dt) > VT) {\nmsg.payload = false; // Boolean Wert\n//msg.payload = 0; //Integerwert/Binaerwert\n}\nelse\n{\nmsg.payload = true; // Boolean Wert\n//msg.payload = 1; //Integerwert/Binaerwert\n}\nreturn msg;","outputs":1,"noerr":0,"x":710,"y":988,"wires":[["8706c33.a5797c"]]},{"id":"6d590582.38d554","type":"inject","z":"de87f48f.fcaa78","name":"SW Temperatudiffernz VL<-->RL","topic":"","payload":"10","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":168,"y":1080,"wires":[["9672b859.1c6458"]]},{"id":"9672b859.1c6458","type":"change","z":"de87f48f.fcaa78","name":"SW Temp_Differenz","rules":[{"t":"set","p":"SW_dt","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1080,"wires":[[]]}] Ich habe es zum besseren Verständnis versucht so einfach wie möglich zu halten. Die ersten beiden inject-Nodes musst Du durch deine MQTT-Input Nodes ersetzen und im dritten inject Node kannst Du die gewünschte Temperaturdifferenz einstellen. Im Moment stehen dort die gewünschten 10K. An dem Strang kannst Du dann auch jederzeit ein Dashboard numeric Input Node anschließen.
  • Einschalthelligkeit Homematic Dimmer HM-LC-Dim1TPBU-FM zeitgesteuert festlegen

    Verschoben
    18
    0 Stimmen
    18 Beiträge
    2k Aufrufe
    J
    Naja, es gibt einige Haken in den Programmen. Das ist aber auch sehr von den anderen aktuellen Einstellungen der Kanäle abhängig. Wenn Du allerdings die empfohlenen Kanaleinstellungen übernommen hast, dann verursachen Deine Programme Fehlschaltungen. Lange Erklärungen und Verbesserungen erspare ich mir aber weil Du ja doch eine Umsetzung per JavaSkript wünscht. Leider kann ich Dir bei der reinen Java-Programmierung nicht helfen, ich selbst nutze nur Blockly.
  • Node-Red genauso gut wie scripten?

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    M
    Die Hoffnung bei Node Red ohne Javascript und Programmieren auszukommen, ist trügerisch. Man hat zwar ein grafisches Interface, aber man muss sich ziemlich intensiv mit den teilweise komplexen Funktionen der vorhanden Nodes auseinandersetzen und da ist man vom Know How Aufbau ganz schnell bei dem Aufwand, den man für das Lernen von Javascript hat.
  • Timer nur bei bestimmtem Wert starten

    Verschoben
    11
    1
    0 Stimmen
    11 Beiträge
    639 Aufrufe
    R
    @Graf Ja, nimm einfach einen JSON-node. Kannst du auch nehmen, wenn du nicht sicher bist, ob die Quelle ein JSON-String oder -Object ist. Die Substringerei ist ätzig und fehleranfällig.
  • Adapter Start und Stop Schleife

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    361 Aufrufe
    D
    Danke HC-Yami, das waren die erscheidenden Stichpunkte. Die zwei if-Abfragen baue ich auch noch ein um das ganze perfekt zu machen. Muss dazu mich aber erstmal mit java script beschäftigen, bin eher der Blockly Type ;) [image: 16158_chrome_2019-01-02_23-29-26.jpg] Gruß Dare
  • Objekt import Fehler: Invalid ID: null

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    214 Aufrufe
    Niemand hat geantwortet

342

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge