Skip to content

Skripten / Logik

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

16.6k Themen 213.7k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    Pedder007P
    @Schimi Danke, läuft nun auch bei mir :-)
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    B
    Vielen Dank für die ausführliche Erklärung und die Links
  • 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
  • Kamerabilder via Email verschicken

    security
    2
    1
    0 Stimmen
    2 Beiträge
    346 Aufrufe
    M
    @stockics6 Wie bekommt man denn überhaupt den Link zum Snapshot. Wie ist der gezeigte Link entstanden? Bitte mit Bilder, wenn möglich?
  • mqtt: callback bei Client Neustart alle Werte anfordern

    javascript
    2
    0 Stimmen
    2 Beiträge
    312 Aufrufe
    M
    @hanss Publish nur bei Änderung OFF und Bekanntgebeneigene States beim Verbinden ON stellt sicher, daß die Daten zum Client geschickt werden. Retain Daten sind ja die letzten geschrieben Daten, die dann zuerst übermittelt werden. Da aber alle Daten übertragen werden, kann das egal sein? [image: 1597673318864-iobroker-mqtt-einstellungen.png]
  • Einen State erweitern?

    blockly
    2
    0 Stimmen
    2 Beiträge
    310 Aufrufe
    M
    @csamaggi Man kann ja unter javascript.0 oder 0_userdata.0 eigene States anlegen. javascript.0.Saugroboter.Raum1 -> State val = false, true javascript.0.Saugroboter.Raum2 javascript.0.Saugroboter.Raum3 javascript.0.Saugroboter.Raum4 Jetzt mit einem Script die einzelnen Räume auf Änderung abfragen und in den Befehl umsetzen. In VIS die States mit Schaltern Boolean abfragen , bool button usw. Dort entsprechend die Räume auf true schalten, die gesaugt werden sollen. Um genauer helfen zu können, bräuchte man die Xiaomi-Struktur (ioBroker).
  • JSON wird nicht aktualisiert in VIS

    javascript
    2
    0 Stimmen
    2 Beiträge
    367 Aufrufe
    M
    @mctom Es muß nicht unbedingt VIS neugestartet werden, sondern nur aktualisiert werden? Es ist ja HTML-Seite die wird nur beim Start einmal aufgebaut, wenn sich dann Werte ändern, muß man besondere Element in die HTML-Seite einbauen und denen dann eine Aktualisierungszeit mitgeben. Dies kann man mit iFrame -Elementen machen. In diesem muß die Tabelle auf eine Seite und die Tabellen-Seite dann wieder als iFrame auf die Anzeigeseite. Im iFrame gibt man die Updatezeit mit (500ms?, 0 bedeutet, es wird nicht aktualisiert!). Dann gibt es VIS noch die Möglichkeit dies zu aktualisieren, wenn man die Seite aktiviert (Update bei Aufwachen) oder man eine ChangeView (Update bei Viewwechsel) durchgeführt hat.
  • Storensteuerung

    blockly
    2
    1
    0 Stimmen
    2 Beiträge
    218 Aufrufe
    M
    @cainam Immer noch Probleme? Oder schon erledigt? Bitte die Bilder einzeln größer im Spoiler [image: 1597668727212-iobroker-forum-auge-spoiler.png] (das Auge oben und dann dort die Bilder einfügen)! Danke.
  • HMIP Vollschutz - Philips HUE alle Lichter an bei Alarm

    blockly
    2
    0 Stimmen
    2 Beiträge
    286 Aufrufe
    M
    @huhie Ist der Hue-extended Adapter installiert? Dann unter lights in der Objektstruktur hue-extended.0.lights.001-lampe_tisch.action.on die einzelnen Lampen einschaltet (TEST) oder später mit einem Selektor alle auf einmal. [image: 1597668167622-iobroker-hue-alle-lichter-an.png] channel[state.id=hue-extended.0.lights.*.action.on Mal versuchen!
  • Pioneer AVR Script für ältere VSX Receiver

    javascript
    3
    0 Stimmen
    3 Beiträge
    644 Aufrufe
    C
    Hi @schroeder1, coole Arbeit. will mich die Woche jetzt auch dran machen meinen Pioneer SC-2022 anzubinden. Mit Telnet klappt das schon nur der Onkyo adapter will nicht (weiß jetzt auch warum......) Ich weiß nicht genau wie fit du bist, aber hoffe du kannst mir helfen. Normalerweise müsste ich doch die node-pioneer-avr als funktions-script in Blocky setzen können und hier die Variablen adressieren? Sollte das nicht klappen werde ich mich an deine Herangehensweise machen. fragst du eigentlich auch irgendwo Änderungen im AVR ab? wenn ich z.B. mit der original Fernbedienung die Lautstärke ändere, muss das der IO Broker doch auch irgendwie wissen oder? Schon mal vielen Dank. MfG Chris
  • Abhängig vom Wert einen Ausgang vom Raspberry steuern.

    node-red
    3
    0 Stimmen
    3 Beiträge
    375 Aufrufe
    M
    @thoMAS Spät aber doch: Danke! Ich habe mir jetzt die Mailbenachrichtigung aktiviert, damit ich die Antworten schneller mitbekomme...
  • Json in Datenpunkt funktioiert nicht

    javascript
    2
    0 Stimmen
    2 Beiträge
    341 Aufrufe
    M
    @Jautze sagte in Json in Datenpunkt funktioiert nicht: getState("javascript.0.GoE_Charger.Objekt").val Ist der DP überhaupt angelegt, da es kein CreateState in dem Script gibt und die Fehlermeldung besagt, dass er den Wert nicht finden kann? Wenn man in den Objekten schaut: javascript.0 --- GoE_Charger. ------ Objekt Ist diese Struktur da?
  • Http-Request mit Simple-API

    javascript communication
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    M
    @Dolomiti Habe jetzt mal ein Beispiel in BLOCKLY eingestellt und dann in Javascript anzeigen lassen: Im Spoiler steht das Javascript zum Blockly! [image: 1597660485756-iobroker-blockly-http-request-simple-api.png] Spoiler var result; try { require("request")('http://192.168.178.91:8087/getPlainValue/javascript.0.HAUS.ALLGEMEIN.BAD_MONITORE_AUS', function (error, response, result) { console.log(result); }).on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.168.178.91:8087/getPlainValue/javascript.0.HAUS.ALLGEMEIN.BAD_MONITORE_AUS');
  • Telegram pinChatMessage möglich?

    javascript
    2
    0 Stimmen
    2 Beiträge
    243 Aufrufe
    M
    @al_onestone Kannst du das bitte mit Bildern etwas mehr erklären? Was machst, wie machst du es und was sieht man dann in Telegram zu dem User_BOT? Ich kenne zwar Telegram, aber weiß nicht wie das mit dem Pinnen geht! Update, hab mir das jetzt mal angeschaut. Funktioniert allerdings nur für Gruppenchats und Kanäle!!!! Grundsätzlich kann man das selber: [image: 1597702071843-iobroker-telegram-send-pinchat.png] CHAT-ID bekommt man telegram.1.communicate.botSendChatId und die MESSAGE-ID bekommt man aus telegram.1.communicate.botSendMessageId Hinter dem /bot muß direkt das token stehen und &. Beispiel: https://api.telegram.org/bot1234jkhasfiz2345keroizdgkjsdgfi& und der Rest von den Text-Werten entsprechend ändern. unpinChatMessage wird dann nur mit der chat_id. wieder gesetzt. -> Beispiel: https://api.telegram.org/bot1234jkhasfiz2345keroizdgkjsdgfi&unpinChatMessage?chat_id=CHAT-ID
  • Text2Command per Telegram API

    communication
    2
    0 Stimmen
    2 Beiträge
    242 Aufrufe
    M
    @tp112 Der Telegram-Adapter kann auch Nachrichten empfangen. Und die können dann in ioBroker weiter verabreitet werden. Verstehe also nicht so ganz, warum jetzt die Telegram API genutzt werden soll? Kannst du mal dein Ziel konkreter beschreiben: Wenn jetzt ein Gerät eine Telegram Message mit der API generiert und dann in den BOT schreibt, dieser von ioBroker weiter verarbeitet werden, da eine Telegram-Instanz zu diesem BOT installiert wurde, dann kann man auch den Text2Command verarbeiten. Da ist dann die Frage, was soll der Text2Command denn tun und kann man das nicht direkt in ioBroker verarbeiten (Sprich die Lampe direkt einschalten).
  • Javascript für JSON Tabelle

    javascript monitoring
    33
    2
    0 Stimmen
    33 Beiträge
    3k Aufrufe
    etvE
    @paul53, OK danke! Tabelle ist noch im "Rohzustand" und nicht fertiggedacht.....wenn ich das Projekt angehe, dann poste ich das da - herzlichen Dank!! Liebe Grüße Tom
  • Gelöst: On Change

    javascript
    15
    0 Stimmen
    15 Beiträge
    481 Aufrufe
    paul53P
    @michihorn Dein Script mit IDs könnte so aussehen: const ids = ids_holen(); const idSW_Temp = 'javascript.0.Garten.Markisse.SW_Temp'; // Auslösewert Temp on(ids.Temperatur, function (dp) { if (dp.state.val <= getState(idSW_Temp).val) { log("ist kleiner"); setState("javascript.0.Garten.Markisse.Bedingung_2", 0) } else { setState("javascript.0.Garten.Markisse.Bedingung_2", 1) log("ist größer"); }; });
  • (Gelöst) Kein Rückgabewert bei Blockly Funktion gib zurück

    javascript blockly
    4
    3
    0 Stimmen
    4 Beiträge
    999 Aufrufe
    M
    @paul53 Das war bei mir der 3. Versuch. Stimmt der funktioniert! Hatte nur damit gerechnet, daß man den Result-Wert direkt in der Funktion abfangen könnte. Habe dafür auch nochmal ein Timeout in der Funktion selbst eingebaut. Unter "debug (result)". Aber auch das schlug fehl. Aber man kann sich ja so behelfen, indem man den result-Wert in die Script-Variable (hier: files) schreibt. Und dementsprechend auf eine "Funktion mit Rückgabewert (gib zurück)" verzichtet. Vielen Dank.
  • Selector nicht im Adapter möglich?

    javascript
    7
    0 Stimmen
    7 Beiträge
    576 Aufrufe
    S
    @paul53 Müsste dann diese Zeile sein: adapter.getStates(adapter.namespace + ".eNet.*.*.*.*eventUID", function (err, states)
  • [gelöst] channelID hat keinen Wert

    javascript blockly
    23
    2
    0 Stimmen
    23 Beiträge
    1k Aufrufe
    M
    @paul53 Super. Mache ich. Vielen Dank.
  • [gelöst] Aufzählungen auswerten - Hilfe bei Fehler in Script

    javascript monitoring
    4
    3
    0 Stimmen
    4 Beiträge
    577 Aufrufe
    N
    So ich setzte den Thread mal auf closed. Ich habe den Fehler zwar nicht gefunden, aber ich habe alle Datenpunkte, alle Aufzählungen und das Script einfach nochmal neu aufgebaut und nun funktioniert es. Es sieht eigentlich genauso aus wie vorher aber das Verhalten ist jetzt ein anderes. Ich kann selbst nicht erklären wieso. Liebe Grüße
  • Subscribe wenn Wert gleich

    javascript
    3
    0 Stimmen
    3 Beiträge
    333 Aufrufe
    D
    Danke, probier ich mal aus
  • [gelöst] Alexa spricht nicht, Wert SPEAK wird aber gesetzt

    node-red
    5
    0 Stimmen
    5 Beiträge
    321 Aufrufe
    F
    @deriobroker Markiere bitte noch das Thema in der Überschrift des ersten Beitrags als [gelöst].

532

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge