Skip to content

Skripten / Logik

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

16.6k Topics 214.1k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    S
    Hi zusammen! Ich nutze einen Denon und mir fehlt der Ordner heos.0.sources.1028... Demnach kann ich die Favoriten auch nicht ansteuern. Mit dem Adapter soll das Skript aus dem ersten Post doch überflüssig sein, oder?
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    D
    @homoran shit... Recht du hast. Verdammt.. Danke für die Hilfe Jepp... das Log wird nächstes Mal angehängt!!!!
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    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
  • getState().val

    javascript
    3
    0 Votes
    3 Posts
    1k Views
    arteckA
    @kottdie sagte in getState().val: let test = getState('tradfri.0.B-65541.batteryPercentage').val; //definieren wir eine variable und setzten diese direkt setState('0_userdata.0.testwert', test ); // setzte diese in ein state ein console.log(test); // schreibe es auf die konsole
  • Wie Änderungen bei Stromzufuhr erkennen/triggern?

    javascript
    3
    0 Votes
    3 Posts
    403 Views
    paul53P
    @Dado sagte: deconz.0.Lights.xx.reachable aber das scheint nicht immer aktuell zu sein, sprich ist true auch wenn die Funzel ausgeschaltet wurde. Eigentlich sollte "reachable" dafür da sein ? Was passiert mit "ack" von "reachable" nach setState("deconz.0.Lights.15.reachable", true); im Falle von stromlos und im Falle von "unter Strom" ?
  • Kamerabilder via Email verschicken

    security
    2
    1
    0 Votes
    2 Posts
    352 Views
    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 Votes
    2 Posts
    312 Views
    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 Votes
    2 Posts
    314 Views
    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 Votes
    2 Posts
    373 Views
    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 Votes
    2 Posts
    221 Views
    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 Votes
    2 Posts
    295 Views
    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 Votes
    3 Posts
    656 Views
    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 Votes
    3 Posts
    377 Views
    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 Votes
    2 Posts
    344 Views
    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 Votes
    2 Posts
    1k Views
    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 Votes
    2 Posts
    243 Views
    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 Votes
    2 Posts
    242 Views
    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 Votes
    33 Posts
    3k Views
    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 Votes
    15 Posts
    482 Views
    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"); }; });
  • 0 Votes
    4 Posts
    1k Views
    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 Votes
    7 Posts
    582 Views
    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 Votes
    23 Posts
    1k Views
    M
    @paul53 Super. Mache ich. Vielen Dank.
  • 0 Votes
    4 Posts
    585 Views
    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

573

Online

32.7k

Users

82.5k

Topics

1.3m

Posts