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
    Das könnten sie ja dann nur per Firmwareupdate beheben oder? Da warte ich immer bisschen ab welche Probleme da auftauchen.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    hg6806H
    Danke für die Antworten. Der Adapter ist dafür etwas überdosiert, ist aber interessant, dass es sowas gibt. Das mit dem Zeitplan hatte ich mir auch schon überlegt, dachte es gibt was anderes oder besseres. Ich denke stündlich reicht in dem Fall.
  • Hilfe für Skripterstellung mit Node-RED

    955 13k
    955 Themen
    13k Beiträge
    mickymM
    @Tontechniker Man kann solche Filter aber auch OHNE neue Nodes zu installieren mit einfachen Standard-Switch Nodes realisieren: [image: 1776865319208-af3cab3c-2716-43f4-b7df-7f74e8bf051b-image.jpeg] ggf. einfach nochmal meinen alten Thread anschauen: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered
  • Raumzuordnung in Skript

    21
    1
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    bahnuhrB
    @wendy2702 sagte in Raumzuordnung in Skript: @bahnuhr in deinem Script zum anlegen der DP‘s fehlt zum Beispiel genau dieser aber. Deshalb die Frage Ah, ok. Musst die Punkte mal durchschauen.
  • Eine Heizung mit drei Fensterkontakten

    43
    1
    0 Stimmen
    43 Beiträge
    1k Aufrufe
    M
    @asgothian Das klingt super! Wie ich irgend wann zwischendurch schonmal erwähnt habe (ist sicher in der Menge der Posts untergegangen), möchte ich sowas gerne lernen. Darum auch der Versuch trotz vorhandenem Heizungs-Adapter mir ein Script zu bauen.
  • Blockly mit Nachtcheck Script

    9
    1
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    sentinelS
    @paul53 Danke für den Tipp, damit ist das Script natürlich obsolet.
  • Szene zum starten von LG TV und verzögert 1und1 tv App

    1
    1
    0 Stimmen
    1 Beiträge
    468 Aufrufe
    Niemand hat geantwortet
  • Datenpunkte verfolgen

    4
    0 Stimmen
    4 Beiträge
    636 Aufrufe
    DickenD
    @Cinimod , @BananaJoe Ah Danke :) Das hat geholfen :) Manchmal sieht man den Wald vor lauter Bäumen nicht :)
  • Shelly Uni und Pushsafer Notify

    5
    0 Stimmen
    5 Beiträge
    818 Aufrufe
    K
    @cinimod ich weiß wenn ich mir die Adapter anschaue gibt es noch kein Adapter für ein SMS-Gateway. Ich habe hier einen Thread von 2018 gefunden aber in der aktuellen Adapter-Liste nichts für ein SMS-Gateway wie z.B. sms77.io was ich seit über 12 Jahren benutze. Schade. Nochmals Danke und einen sonnigen (kalten) Sonntag :) Peter
  • Javascript Adapter rot

    91
    1
    0 Stimmen
    91 Beiträge
    7k Aufrufe
    GlasfaserG
    @chrisprefect .... schön das es wieder geht . :) Ein weiteres "rumbastel" wäre auch sinnlos gewesen ... deshalb habe ich auch geschrieben : @glasfaser sagte in Javascript Adapter rot: Erlich ...... nimm ein Backup .... installiere ioBroker neu und lass die Finger von root
  • Javascript Adapter rot

    21
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    Thomas BraunT
    @chrisprefect sagte in Javascript Adapter rot: Was muss ich tun? Meldungen aus dem LogFile beibringen. In einem eigenen Thread.
  • (gelöst) Falsche Uhrzeit

    5
    1
    0 Stimmen
    5 Beiträge
    954 Aufrufe
    stefu87_CHS
    @wendy2702 Hab ich nun gemacht. Jetzt stimmt es auf dem NUC und in Iobroker auf dem Skript.
  • Wie kann ich Wertaktualisierungen mit Blockly überwachen?

    blockly communication
    4
    0 Stimmen
    4 Beiträge
    256 Aufrufe
    GregorSG
    Vielen lieben Dank. Werde beide Lösungen mal ausprobieren. Bleibt gesund ! Gregor
  • Softwareunterstützung für Zustandsübergangsgraphen

    9
    0 Stimmen
    9 Beiträge
    191 Aufrufe
    D
    @alcalzone Thx, habe mich da gerade zurück gehalten da ich auch den Eindruck hatte Dein Vorschlag funktioniert in die andere (Entwicklungs) Richtung. Nun bin ich happy doch noch ein paar mehr als die grauen Zellen zu haben :) Lass es mich selbstkritisch so sagen. Wenn man mit einem Mindmapper mal das Vorhaben strukturiert hat und somit das Chaos im Kopf sortiert hat, ist der Rest auch mit vorhanden Mitteln durchaus gut umsetzbar....aus meiner Sicht. Das Gefühl einen Zettel und Stift auszupacken für diese Sache hat mich nur dazu bewogen Alternativen zu suchen, da ich mir doch sehr "Oldschool" vorkam. Aber wie nicht das erste Mal, hat man erst mal Struktur geschafft, sei es auf dem Papier, lösen sich die Wolken im Kopf und der Rest ist eigentlich recht easy. Für mich als Nicht-Programmierer und eher Automatisierer sind vorhandene Boardmittel also super ausreichend und keep it simple kann auch schön sein :)
  • State offen in true konvertieren

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    WalW
    @robert_r , erstelle einfach ein Alias mit einer rule und nutze die in der Vis. "read": "val == 'offen' ? false : true"
  • Simatic S7 Logo

    Ungelöst
    10
    0 Stimmen
    10 Beiträge
    794 Aufrufe
    P
    @oli8x8x8x Eingänge, Ausgänge und Merker sind bei mir leer. DB sieht do aus: [image: 1641982642952-31f555c4-b25f-4856-aa30-393f5cbf701d-image.png] Im Logo-Programm sieht es so aus: (Ausschnitt) [image: 1641982762767-e8b61450-80e9-4309-90ee-fa5fc0594fc9-image.png] [image: 1641983027748-4fcf4a06-9a68-4664-9ff3-556f617cab28-image.png]
  • Telegram Bot via NFC steuern

    4
    0 Stimmen
    4 Beiträge
    723 Aufrufe
    D
    @altmann Super. Freut mich wenn ich helfen konnte...
  • Wenn Datenpunkt älter als 14 Tage, dann

    15
    0 Stimmen
    15 Beiträge
    914 Aufrufe
    Lukas VFL99L
    @oliverio @Homoran danke danke danke Hab's jetzt folgender Maßen gelöst. Muss morgen Mal gucken ob die Umrechnung in Tage passt aber die 2 Minuten funktionieren sehr gut soweit. {lastchange:0_userdata.0.Papa.Platz1.lc;wert:0_userdata.0.Papa.Platz1;((new Date()-lastchange)/1000/60) > 2 ? "#d6061f" : wert == "" ? "#FFFFF" : "#00000"}
  • Datenstruktur in iobroker Verständnissfrage

    2
    1
    0 Stimmen
    2 Beiträge
    151 Aufrufe
    arteckA
    @markusn78 wir kennen halt räume abe rnicht so wie du die brauchst..da musst du selber Hand anlegen und manuell splitten
  • Modbus Wert zu Boolean splitten

    3
    0 Stimmen
    3 Beiträge
    197 Aufrufe
    M
    @paul53 Danke für den Hinweis, ich habe mir jetzt einen passenden Flow bei Node-Red angelegt. Habe den aber nicht selber erfunden sondern nur auf meine Bedürfnisse angepasst. [ { "id": "7b93b0c.402c65", "type": "tab", "label": "Flow 2", "disabled": false, "info": "" }, { "id": "df41c583.24ff58", "type": "function", "z": "7b93b0c.402c65", "name": "word to binary", "func": "// initialize bit array to 0s\nvar bits0thru31 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];\n\nfor (i = 0; i < 32; i++){\n bits0thru31[i] = (msg.payload >> i) & 0x1;\n}\n\nvar bit0 = {payload: bits0thru31[0]};\nvar bit1 = {payload: bits0thru31[1]};\nvar bit2 = {payload: bits0thru31[2]};\nvar bit3 = {payload: bits0thru31[3]};\nvar bit4 = {payload: bits0thru31[4]};\nvar bit5 = {payload: bits0thru31[5]};\nvar bit6 = {payload: bits0thru31[6]};\nvar bit7 = {payload: bits0thru31[7]};\nvar bit8 = {payload: bits0thru31[8]};\nvar bit9 = {payload: bits0thru31[9]};\nvar bit10 = {payload: bits0thru31[10]};\nvar bit11 = {payload: bits0thru31[11]};\nvar bit12 = {payload: bits0thru31[12]};\nvar bit13 = {payload: bits0thru31[13]};\nvar bit14 = {payload: bits0thru31[14]};\nvar bit15 = {payload: bits0thru31[15]};\n\nreturn[ bit0, bit1, bit2, bit3, bit4, bit5, bit6, bit7, bit8, bit9, bit10, bit11, bit12, bit13, bit14, bit15 ];\n", "outputs": 16, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 640, "y": 400, "wires": [ [ "aa201119.796068" ], [ "8756f456.0d6bf" ], [ "6d516811.372178" ], [ "948f3ad4.183b88" ], [ "8f435811.a4be68" ], [ "cdb17f80.fac8e8" ], [ "75ff10d8.fba63" ], [ "e5d55421.de459" ], [ "86b811c3.0ac84" ], [ "e45a7d02.79caa" ], [ "b2aefbfc.aa2338" ], [ "2617a6bb.218c8a" ], [ "97ee1c07.1628" ], [ "79b46191.21538" ], [ "7e37e721.5da318" ], [ "3b04cc79.d38d54" ] ] }, { "id": "aa201119.796068", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 260, "wires": [] }, { "id": "8756f456.0d6bf", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "false", "x": 850, "y": 300, "wires": [] }, { "id": "6d516811.372178", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "false", "x": 850, "y": 340, "wires": [] }, { "id": "948f3ad4.183b88", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 380, "wires": [] }, { "id": "8f435811.a4be68", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 420, "wires": [] }, { "id": "cdb17f80.fac8e8", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 460, "wires": [] }, { "id": "75ff10d8.fba63", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 500, "wires": [] }, { "id": "e5d55421.de459", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 850, "y": 540, "wires": [] }, { "id": "e3ba4514.dd9e88", "type": "ioBroker in", "z": "7b93b0c.402c65", "name": "", "topic": "modbus.0.holdingRegisters.1.12326_MW38_OG_Stat_Kind2", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 280, "y": 400, "wires": [ [ "df41c583.24ff58" ] ] }, { "id": "86b811c3.0ac84", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 850, "y": 580, "wires": [] }, { "id": "e45a7d02.79caa", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 620, "wires": [] }, { "id": "b2aefbfc.aa2338", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 660, "wires": [] }, { "id": "2617a6bb.218c8a", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 700, "wires": [] }, { "id": "97ee1c07.1628", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 740, "wires": [] }, { "id": "79b46191.21538", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 780, "wires": [] }, { "id": "7e37e721.5da318", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 820, "wires": [] }, { "id": "3b04cc79.d38d54", "type": "debug", "z": "7b93b0c.402c65", "name": "", "active": true, "console": "false", "complete": "payload", "x": 850, "y": 860, "wires": [] } ] [image: 1641888092681-screenshot-2022-01-11-090115.png] Im Modbus-Adapter habe ich dann Unsigned 16bit (Little Endian) verwendet. In der Wago SPS schreibe ich auf ein %MW. Falls mal jemand diese Informationen brauchen sollte.
  • Symbole aus global scripts werden nicht aufgelöst

    8
    0 Stimmen
    8 Beiträge
    499 Aufrufe
    S
    @paul53 Danke! habe damit erst verstanden das ich es in einen anderen Ordner legen muss. Vorher hatte ich versucht das beide scrips über den Editor auf der Webplatform an zu legen. Also mit JavaScript funktioniert es jetzt. Eigendlich wollte ich aber in TypeScript programmieren und da habe ich dann noch ein bisschen länger dran gehangen. Habe es schließlich aber auch geschafft. Für alle mit ähnlichem Problem: Ich mich an dem vorletzten post in diesem Thread hier orientiert: Modulare Skripe Anstatt dann in dem neuen node module in JavaScript zu programmieren habe ich dort TypeScript über npm als dev-dependency installiert. Jetzt kann ich dort mit TypeScript programmieren, und das Ergebnis per Import in ioBroker scripteditor benutzen. Nachteil ist das ich das externe TypeScript extra nochmal compilieren und dann Adapter neu starten muss. Allerdings kann ich so auf meinem Desktop in WebStorm entwickeln und dann am ende nur die compilierten .js Dateien synchronisieren. Bin also ganz zufrieden mit der Lösung. Danke nochmal @paul53 und @Ahnungsbefreit für eure Hilfe!
  • ioBroker out - Update von mehreren States mit einer Message

    node-red javascript
    12
    0 Stimmen
    12 Beiträge
    951 Aufrufe
    mickymM
    gelöscht
  • Homematic Systemvariable ändern mit Iobroker

    21
    2
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    HomoranH
    @richibln sagte in Homematic Systemvariable ändern mit Iobroker: ich weiß nicht woran das liegt das ich den EM1000 den ich im cuxd erstellt habe nicht verändern kann. ich auch nicht, solange du mir nicht die Rohdaten des Datenpunkts zeigst @richibln sagte in Homematic Systemvariable ändern mit Iobroker: ich hab schon versucht alle punkte zu Steuern aber ohne Erfolg die werte werden nicht übernommen. Glaskugelmodus: Wahrscheinlich sind das Werte, die vom Gerät geliefert werden und nicht beschreibbar sind. Wieso sollten sie auch überschrieben werden können. Das Gerät würde sie nach der nächsten Aktualisieruung ja wieder mit seinen Werten überschreiben. @richibln sagte in Homematic Systemvariable ändern mit Iobroker: muss ich halt ein Script schreiben welches mir den Verbrauch Woche , Monat und Gesamt errechnet. nicht unbedingt. Dafür gibt es den sourceAnalytics Adapter

382

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge