Skip to content

Skripten / Logik

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

16.6k Topics 213.8k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    OliverIOO
    @BertDerKleine Am besten zeigst du mal dein Script, dann kann man bessere Empfehlungen abgeben. Bitte auch mal schreiben warum du aufteilen möchtest obwohl es so funktioniert.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    KPTK
    Hat leider in ioBroker nicht funktioniert. Musste leider auf HomeAssistant umsteigen. Lokale Integration sehr einfach und voll funktionsfähig.
  • 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
  • Blockly und Zipato RGBW - String ausgeben

    Moved
    2
    2
    0 Votes
    2 Posts
    536 Views
    P
    Falls es mal jemandem hilft: Ich habe mittlerweise eine Lösung dafür gefunden: [image: 2802_zipato.jpg] Besonderheit bzw. Problem war, das der Parameter "Level" jedes mal wieder mit gesetzt werden muss. Bei Fibaro z.B. setzt sich Level automatisch auf 20, wenn Rot = 20 gesetzt wird. Bei Zipato nicht.
  • Sonnenuntergangs als einschaltzeit Blocky

    Moved
    6
    0 Votes
    6 Posts
    634 Views
    K
    Hey Paul, was kommisch st heute abend hat es wirklich funktioniert :shock: ich werde es mal die age eobachten und dann nchmal antwort geben ob alles soweit läuft!!! ich danke dir trotzdem recht herzlich für deine große hilfe. und umzu deiner frage zu kommen ja es war in den objekten der richtige reiter und ich konnte die schlaterstellung damit ändern… p.s. die bilder werde ich absofort dann so hochaden kein problem vielen vielen dank nochmal...fürs erstebstimm ;) gruß, Chris
  • Amazon Echo - Update Probleme ?? Node-Red Probleme?

    Moved
    44
    0 Votes
    44 Posts
    4k Views
    L
    Interesanterweise ist dann trotzdem nicht das update installiert. Ich habe es bereits mehrfach ausprobiert.
  • Blockly Script Hilfe

    Moved
    6
    1
    0 Votes
    6 Posts
    891 Views
    S
    Eine Frage hab ich noch .Wie kann ich mit Blockley einem Object ID einen anderen Wert zu weisen?
  • Fehler im Log, was dagegen tun?

    Moved
    3
    1
    0 Votes
    3 Posts
    896 Views
    K
    Hi Bekomme die gleiche Meldung (es funktioniert aber alles). Wie funktioniert das mit dem konvertieren, bekomm das leider nicht hin… z.B. setState("onkyo.0.command","main.subwoofer-temporary-level=UP"); kommt die meldung warn at Object. <anonymous>(script.js.Onkyo:6:2) warn Wrong type of onkyo.0.command: "string". Please fix, while deprecated and will not work in next versions.</anonymous> Gruß edit Hat sich erledigt. Für die Nachwelt: statt den onkyo adapter lieber onkyo-vis adapter nutzen. Wie der installiert wird steht hier viewtopic.php?f=20&t=2316&hilit=onkyo+vis#p22772 Der Befehl musste danach so aussehen setState("onkyo-vis.0.RAW","SWLUP");
  • Hilfe zu: aus HEX String 0 / 1 finden und Position ermitteln

    Moved
    3
    1
    0 Votes
    3 Posts
    400 Views
    J
    Auf jeden Fall hilft das weiter. Super vielen Dank dafür !!!!
  • Adapterabsturz bei Fehlerhaftem Aufruf

    Moved
    7
    0 Votes
    7 Posts
    654 Views
    Mr. BurnsM
    Danke für den Hinweis. Adapter wurde upgedatet. Von V3.6.4 auf V3.7.0. Das Script hab ich auch neu erstellt. Den ioBroker aus dem Terminal neu gestartet. Der Fehler ist geblieben. Außerdem ist mir aufgefallen, das beim Neustart folgendes im Log steht: ` > admin.0 2018-07-27 14:37:52.635 error setObject id missing!! web.0 2018-07-27 14:37:50.870 error setObject id missing!! ` Hatte gelesen, das dies ignoriert werden könnte, da bereits gefixt. Ist dem so? Oder spricht dies noch für andere Probleme? Gruß Thomas
  • Hue Bewegungsmelder und Sonos

    Moved
    7
    1
    0 Votes
    7 Posts
    2k Views
    K
    Habs so gemacht: [image: 8132_screenshot__8_.png] Eine Frage hätte ich nur noch, der Bewegungsmelder schaltet das Licht unmittelbar nach der Bewegung ein… aber bis die Sonos Box startet dauert es ca. 20 sek, jemand ne Idee woran es liegen könnte ? kai
  • [gelöst] Eigenschaft von Datenpunkt per Script bearbeiten

    Moved
    7
    0 Votes
    7 Posts
    2k Views
    N
    @paul53: Ersetze bitte noch im Betreff des ersten Beitrags [HILFE] durch [gelöst]. ` Hatte ich vor. Dazu muss ich nur erstmal an den Rechner… Gesendet von meinem SM-T820 mit Tapatalk
  • Skript für Türklingel aber GPIO verzögern

    Moved
    4
    0 Votes
    4 Posts
    648 Views
    M
    Danke, sehr….. hatte es gesucht..... leider nicht gefunden Gesendet von iPhone mit Tapatalk
  • [workaround] sendTo in Blockly

    Moved
    3
    0 Votes
    3 Posts
    821 Views
    N
    Ja, so geht's auch. Aber ich mag's halt kompliziert und umständlich. ;-) Aber dann halt auf die klassische Weise. B-) Gesendet von meinem SM-T820 mit Tapatalk
  • Blockly Script für Benachrichtigung

    Moved
    6
    0 Votes
    6 Posts
    898 Views
    K
    Wenn ich dich richtig verstanden habe, würde ich es wie folgt machen. Die Temperauter des Außentermomethers als Trigger. Dann wird geprüft ob die Außentemp kleiner ist, als eine der drei Innentemps. Wenn ja, bekommst du eine Nachricht
  • [geloest] mit Blockly text in Datenpunkt setzen

    Moved
    4
    3
    0 Votes
    4 Posts
    2k Views
    K
    Hallo, bin durch das fast gleich Problem auf diesen Beitrag gestoßen. Ich benötige auch einen Datenpunkt , den ich dann über Blockly beschreiben kann, wenn ein Eingang TRUE wird. Es soll ein Text sein z.B. "Rot". Allerdings weiß ich nicht genau, wie ich den Datenpunkt anlegen muss.
  • [gelöst] [Blockly] Rollosteuerung bei Hitze

    Moved
    4
    3
    0 Votes
    4 Posts
    764 Views
    M
    Für alle Interessierten, ich habe es nun wie folgt am Laufen: var timeout, timeout2, timeout3, timeout4, timeout5, timeout6, timeout7; // Erzeuge Zustand Hitze Nord-NordOst createState("javascript.0.Hitze_N-NO", function () { schedule("55 6 * * *", function () { if (getState("yr.0.forecast.day0.temperature_max").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_max").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_N-NO"/*javascript.0.Hitze_N-NO*/, true); } else { setState("javascript.0.Hitze_N-NO"/*javascript.0.Hitze_N-NO*/, false); } }); }); // Wohnzimmer & Esszimmer_links schedule("0 7 * * *", function () { if (getState("javascript.0.Hitze_N-NO").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 25); timeout = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3906.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B382F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 25); } }, 60000); } }); schedule("0 11 * * *", function () { if (getState("javascript.0.Hitze_N-NO").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 100); timeout2 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3906.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B382F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 100); } }, 60000); } }); // Erzeuge Zustand Hitze_Ost-SüdOst createState("javascript.0.Hitze_O-SO", function () { schedule("55 7 * * *", function () { if (getState("yr.0.forecast.day0.temperature_max").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_max").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_O-SO"/*javascript.0.Hitze_O-SO*/, true); } else { setState("javascript.0.Hitze_O-SO"/*javascript.0.Hitze_O-SO*/, false); } }); }); // Esszimmer_rechts & Küche & Yvonne´s Zimmer & Badezimmer schedule("0 8 * * *", function () { if (getState("javascript.0.Hitze_O-SO").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 25); timeout3 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3A5F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B3947.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B390F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B35F7.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 25); } }, 60000); } }); schedule("10 15 * * *", function () { if (getState("javascript.0.Hitze_O-SO").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 100); timeout4 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3A5F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B3947.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B390F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B35F7.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 100); } }, 60000); } }); // Erzeuge Zustand Hitze_Süd-SüdWest createState("javascript.0.Hitze_S-SW", function () { schedule("40 15 * * *", function () { if (getState("yr.0.forecast.day0.temperature_actual").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_actual").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_S-SW"/*javascript.0.Hitze_S-SW*/, true); } else { setState("javascript.0.Hitze_S-SW"/*javascript.0.Hitze_S-SW*/, false); } }); }); // Büro & HWR schedule("45 15 * * *", function () { if (getState("javascript.0.Hitze_S-SW").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 25); timeout5 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3937.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B3868.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 25); } }, 60000); } }); schedule("10 20 * * *", function () { if (getState("javascript.0.Hitze_S-SW").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 100); timeout6 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3937.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B3868.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 100); } }, 60000); } }); // Erzeuge Zustand Hitze_West-NordWest createState("javascript.0.Hitze_W-NW", function () { schedule("40 17 * * *", function () { if (getState("yr.0.forecast.day0.temperature_actual").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_actual").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_W-NW"/*javascript.0.Hitze_W-NW*/, true); } else { setState("javascript.0.Hitze_W-NW"/*javascript.0.Hitze_W-NW*/, false); } }); }); // WC, Kinderzimmer & Schlafzimmer schedule("45 17 * * *", function () { if (getState("javascript.0.Hitze_W-NW").val == true) { setState("hm-rpc.1.001118A98B35E3.4.LEVEL"/*Rollo_KZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B38B1.4.LEVEL"/*Rollo_SZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B37E3.4.LEVEL"/*Rollo_WC:4.LEVEL*/, 25); timeout7 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B35E3.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B35E3.4.LEVEL"/*Rollo_KZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B38B1.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B38B1.4.LEVEL"/*Rollo_SZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B37E3.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B37E3.4.LEVEL"/*Rollo_WC:4.LEVEL*/, 25); } }, 60000); } });
  • *gelöst* Timeout verwenden

    Moved
    9
    1
    0 Votes
    9 Posts
    1k Views
    surfer09S
    Danke Paul, dann werde ich deine Variante verbauen! :)
  • [gelöst] Nach Scripte Import, funktionieren keine Scripte

    Moved
    4
    2
    0 Votes
    4 Posts
    448 Views
    S
    Ach Mensch Jungs ich bin doch blöde, stimmt ihr habt recht. Hab zwar die CCU2 wiederhergestellt, aber hier will er ja auch die Hue Lampen zurückgreifen und den Adapter hab ich in dem neuen ioBroker Server noch gar nicht konfiguriert. Man man :oops: :oops: :oops: Danke Problem gelöst :lol:
  • If-Bedienungen…

    Moved
    6
    0 Votes
    6 Posts
    1k Views
    Y
    Hey, danke nein kannte ich nicht. Ich muss nochmal nachschauen. Dein Skript funktioniert leider auch nicht, er gibt den bei den Werte Kontakt1, Kontakt2= false den Wert für g_Verschluss_Keller true zurück. Danke für die Hilfe, die Tipps haben mich auf jeden Fall weiter gebracht
  • Blockly - Lightify Lichtwechsel einrichten

    Moved
    1
    1
    0 Votes
    1 Posts
    466 Views
    No one has replied
  • Probleme mit Javascript Adapter

    Moved
    5
    1
    0 Votes
    5 Posts
    506 Views
    M
    @Rainer: Hab es komplett gelöscht. Aber Danke Dir für den Hinweis. Gruß Markus
  • [gelöst]Variablen vom gleicher Typ lassen sich nicht laden

    Moved
    4
    0 Votes
    4 Posts
    416 Views
    paul53P
    Schreibe [gelöst] bitte in den Betreff des <u>ersten</u> Beitrags.

566

Online

32.7k

Users

82.4k

Topics

1.3m

Posts