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
    RoddiEFR
    @crunchip ich werde es Morgen nochmal komplett neu Installieren da es trotz Einstellungen nicht funktioniert bzw. Zufriedenstellend. Irgendwas passt da nicht so richtig in den Anzeigen.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    B
    @Murphy-0 Hab langsam ein schlechtes Gewissen dich zu belästigen. Mein Solarflow 800 pro hat Eingänge für 4 Module und die hängen auch dran. [image: 1773697755103-af70ef04-dbd4-492e-9570-b9d33bf1bf19-image.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
  • Edit: JSON aus Objekten erstellen

    javascript
    6
    1
    0 Stimmen
    6 Beiträge
    412 Aufrufe
    L
    @michihorn sagte in JSON aus Objekten erstellen: Hallo ich habe vor mir die Werte einzelner Monate in eine JSON zu schreiben und zwar sobald sich ein Wert ändert. Hier habe ich u.a. genau zu solchem Vorhaben Datenstrukturen und Algorithmen entwickelt. Vielleicht hilft es dir als Ideensammlung. Leitideen/Strategien .. Monatstabellen erstellen und mittels Trigger befüllen Diese Tabellen mittels JSON.parse ins RAM als Objekt einlesen Objekt mit JavaScript bearbeiten Anschließend Objekt mittels JSON.stringify wieder in den Objektbaum schreiben ..
  • Telegram - @-Symbol löscht Request

    1
    0 Stimmen
    1 Beiträge
    146 Aufrufe
    Niemand hat geantwortet
  • [gelöst] Was bedeutet ein Gelbes Pausezeichen

    6
    1
    0 Stimmen
    6 Beiträge
    545 Aufrufe
    Ben1983B
    @arteck Ah ok. Unten in der Leiste.... die Hellen Symbole hatte ich gar nicht wahrgenommen.
  • Script für Batterie schonendes laden.

    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    H
    Hallo, das Blocky funktioniert aber nur, solange man keine Victron MPPTs im Einsatz hat, oder? Wenn ich sehe, dass nur der SoC abgefragt und der Ladestrom geändert wird, dann geht das doch nur in der Konfiguration, in der ausschließlich über AC geladen wird. Sobald über die MPPTs DC geladen wird, kann man das Laden darüber ja nicht mehr begrenzen. Hier müsste man das Script wahrscheinlich so anpassen, dass man über den Grid Set Point geht und darüber regelt, wie viel Ladestrom man dem Akku überlässt und wie viel der MultiPlus schon wandelt, bevor der Akku 100 % erreicht oder?
  • durchgestrichener Feldname

    42
    1
    0 Stimmen
    42 Beiträge
    4k Aufrufe
    T
    @legro sagte in durchgestrichener Feldname: @mcm1957 sagte in durchgestrichener Feldname: @legro schau dir typescript an. .. Danke für den Tipp. Darin habe ich schon reingeschnuppert. Aber noch eine weitere Sprache .. ? Die Unterschiede zu JavaScript sind in der Tat wohl nicht allzu groß. Aber ich bin in einem Alter, in dem sich die Erkenntnis durchsetzt: Ich kann mir nur noch schlecht etwas merken, aber vergessen kann ich gut.:confounded: Das ist nur Javascript mit den von dir gewünschten strengeren Regeln. Da geht halt: let a = 3; const b = 'vier'; a = b; nicht. [image: 1751098064515-bildschirmfoto-2025-06-28-um-10.07.36.png]
  • Aus influxDB 2 lesen und schreiben JS oder node.js

    blockly javascript
    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    SBorgS
    @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js: Beispielsweise steht im vom Skript erzeugten Wert Tiefsttemperatur_Spitzenwert -5572,xx°C. Und leider betrifft das noch drei andere DPs, in denen unplausible Werte sind [OT]: du kannst auch einfach den Fix per wetterstation.conf aktivieren ;) #Fix aktivieren bei fehlerhafter Außentemperatur [true/false] / default: false #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt FIX_AUSSENTEMP=false Einige Stationen senden gelegentlich einen "NULL"-Wert. Durch die Umrechnung von Fahrenheit in Celsius kommt dann die -5572°C zu stande. Durch setzen auf "true" werden diese unplausiblen Datenpakete schon direkt nach dem Empfang verworfen. Die alten Daten in der InfluxDB musst du dann aber doch noch säubern.
  • Blockly, um nur nachts Werte zu aktualisieren

    5
    1
    0 Stimmen
    5 Beiträge
    393 Aufrufe
    BertDerKleineB
    @paul53 sagte in Blockly, um nur nachts Werte zu aktualisieren: @bertderkleine sagte: Denkanstösse, wie man etwas umsetzen kann Version mit weniger Mathematik: [image: 1750526614498-blockly_temp.jpg] Nochmals danke! :+1:
  • Skript reagiert nicht mehr auf Aktualisierung von Objekt

    26
    1
    0 Stimmen
    26 Beiträge
    2k Aufrufe
    D
    @paul53 danke .. Objekt scheint jetzt ok zu sein @Homoran "Quelle aktivieren" finde ich nicht .. aber es kommt nur was von iot.0 Input schalten funktioniert weiterhin auch per Skript. Launch app funktioniert weiterhin nur in den Objekten. Für mein Seelenfrieden genügt die Umschaltung über Input .. aber technisch sollte auch das andere funktionieren.
  • script für node js Js-control Version in der Vis (gelöst)

    14
    0 Stimmen
    14 Beiträge
    812 Aufrufe
    mcm1957M
    @homoran said in script für node js Version in der Vis anzeigen: das war mir unbekannt! mir auch dann ist in dem JSON etwas, was nicht als Datenpunkt separiert wird. und noch einiges mehr Wäre aber doch wünschenswert, @mcm1957, oder? Erstell gern einen Feature Issue beim js-controller.
  • Dieses Thema wurde gelöscht!

    0
    0 Stimmen
    0 Beiträge
    3 Aufrufe
    Niemand hat geantwortet
  • Script Ordner sind nicht sichtbar

    6
    0 Stimmen
    6 Beiträge
    474 Aufrufe
    CodierknechtC
    @mico Da unten darf kein Filter gesetzt sein. Dann klappt das auch wie erwartet. [image: 1749664148260-b0734de3-b69a-4290-9288-fc85316063af-grafik.png] [image: 1749664158477-5c05dee9-15f8-4fb6-810e-f55e5c7ed41f-grafik.png]
  • Frage: Schriftfarbe bei eigenem iob-logging ändern

    7
    0 Stimmen
    7 Beiträge
    568 Aufrufe
    HomoranH
    @norbert999 sagte in Frage: Schriftfarbe bei eigenem iob-logging ändern: Ich würde aber gern in meiner VIS2-Darstellung es haben wollen, dass die Wörter "Info", "Warnung" und "Alarm" farbig dargestellt werden um das einfach lesbarer zu machen. und genau das habe ich dir gezeigt
  • Bewässerung (1xPumpe/4xVentile) / CRON + JSON

    7
    0 Stimmen
    7 Beiträge
    581 Aufrufe
    Dirk PeterD
    @krizz2023 Hallo, hier mal eine komplett andere Lösung. Die VIS müsstest du dir aber selber bauen. Ich benutze seit Jahren den Adapter Sprinklecontrol. Die zusätzliche Steuerung erledige ich über IOB Mobile. Dies aber nur, wenn ich meine, die Blumen brauchen noch mehr Wasser, oder ich mal die Sprinklerkreise testen möchte! Und so sieht es aus: [image: 1749314176928-photo_2025-06-07_18-29-27.jpg] Ist nur ein Denkanstoß mit Sachen die schon da sind. :-)
  • Komplette Objekt ID von Objekt auslesen

    3
    1
    0 Stimmen
    3 Beiträge
    313 Aufrufe
    R
    @paul53 Super, danke. Ich habe es einfach nicht gefunden. Hätte mich auch gewundert wenn es das nicht gegeben hätte. Andreas
  • Datum umrechnen in Unix Millisekunden

    9
    1
    0 Stimmen
    9 Beiträge
    775 Aufrufe
    R
    @paul53 Mit Deinen Ansatz hat das dann wunderbar alles funktioniert. Danke für den Code Andreas
  • Shelly pro3EM Verbrauch und Einspeisung Script geht nicht

    18
    2
    0 Stimmen
    18 Beiträge
    2k Aufrufe
    T
    @benjamincz Ich vermute mal: Wenn du auf Phase 1 mehr erzeugst als du auf Phase 1 verbrauchst, speist du ein. Ist doch das gleiche wenn du einen 3000W Heißstab mit Zyklensteuerung auf 300W runterregelst - dann verbrauchst du 5 von 50hz 3kw und den rest 0. was bei einer Einspeisung von 1000 Watt auf der Phase dann 100 Watt Eigenverbrauch 200 Watt bezug und 900 Watt Einspeisung bedeutet. Hoffe das stimmt.. Aber danke für den Anstoß - muß mal schauen ob man hier nicht phasen optimieren könnte nicht das häufig benutze großverbraucher alle auf der gleichen Phase rummachen.
  • Gelöst: JSON Tabelle tägliche Werte

    javascript
    5
    0 Stimmen
    5 Beiträge
    397 Aufrufe
    haus-automatisierungH
    @michihorn Dafür würde ich mir immer den letzten Wert holen, wenn eine neue Zeile geschrieben wird und die Differenz berechnen und speichern.
  • Wie Warmwasser Zirkulationspumpe in Homekit?

    8
    1
    0 Stimmen
    8 Beiträge
    579 Aufrufe
    wendy2702W
    Danke für eure Unterstützung. @Asgothian : werde das morgen mal probieren.
  • Skript (Zisternenfüllstandsanzeige) funzt nicht..

    7
    2
    0 Stimmen
    7 Beiträge
    668 Aufrufe
    D
    So, sorry, hat etwas gedauert. Hier nun ein funktionierendes Script für den IO-Broker. Habe es bei mir im Einsatz und es tut was es soll. Man kann es bestimmt noch optimieren, ich kann so aber jeden Schritt nachvollziehen und auch verstehen. Daher ist das für mich Laien sehr gut geeignet. [image: 1748186315186-00fc977c-51e3-45b0-88be-686c00327a6e-image.png] var Fuellstand; on({ id: [].concat(['hm-rpc.2.001460C9ABA6A1.5.STATE']).concat(['hm-rpc.2.001460C9ABA6A1.6.STATE']).concat(['hm-rpc.2.001460C9ABA6A1.7.STATE']).concat(['hm-rpc.2.001460C9ABA6A1.8.STATE']), change: 'ne' }, async (obj) => { setState('0_userdata.0.Zisterne.A' /* A */, getState('hm-rpc.2.001460C9ABA6A1.5.STATE').val, true); setState('0_userdata.0.Zisterne.B' /* B */, getState('hm-rpc.2.001460C9ABA6A1.6.STATE').val, true); setState('0_userdata.0.Zisterne.C' /* C */, getState('hm-rpc.2.001460C9ABA6A1.7.STATE').val, true); setState('0_userdata.0.Zisterne.D' /* D */, getState('hm-rpc.2.001460C9ABA6A1.8.STATE').val, true); Fuellstand = 0; Fuellstand = (typeof Fuellstand === 'number' ? Fuellstand : 0) + (getState('hm-rpc.2.001460C9ABA6A1.8.STATE').val ? 0 : 10); Fuellstand = (typeof Fuellstand === 'number' ? Fuellstand : 0) + (getState('hm-rpc.2.001460C9ABA6A1.7.STATE').val ? 0 : 20); Fuellstand = (typeof Fuellstand === 'number' ? Fuellstand : 0) + (getState('hm-rpc.2.001460C9ABA6A1.6.STATE').val ? 0 : 40); Fuellstand = (typeof Fuellstand === 'number' ? Fuellstand : 0) + (getState('hm-rpc.2.001460C9ABA6A1.5.STATE').val ? 0 : 80); setState('0_userdata.0.Zisterne.Fuellstand' /* Fuellstand */, Fuellstand); setState('0_userdata.0.Zisterne.Ueberlauf' /* Ueberlauf */, false); setState('0_userdata.0.Zisterne.Kein_Pegel' /* Kein Pegel */, false); setState('0_userdata.0.Zisterne.Fehler' /* Fehler */, false); setState('0_userdata.0.Zisterne.Aus' /* Aus */, false); if (Fuellstand == 110) { setState('0_userdata.0.Zisterne.Ueberlauf' /* Ueberlauf */, true); } if (Fuellstand == 130) { setState('0_userdata.0.Zisterne.Kein_Pegel' /* Kein Pegel */, true); } if (Fuellstand == 140) { setState('0_userdata.0.Zisterne.Fehler' /* Fehler */, true); } if (Fuellstand == 150) { setState('0_userdata.0.Zisterne.Aus' /* Aus */, true); } }); Das Script für die CCU3 habe ich noch nichts ans laufen gebracht. Da muss ich bei Gelegenheit noch mal ran.
  • Accu Weather Icons per Telegram schicken

    2
    0 Stimmen
    2 Beiträge
    217 Aufrufe
    M
    @eddy-ray svg geht mit telegram nicht, nur png, jpg oder gif.

557

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge