Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.8k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    maxclaudiM
    @Daniel-8 Bei mir war es nun umgekehrt. Mein Batterieschutz schaltete zuverlässig über minVol-Grenze ab und der AC1600+ ging nach kurzer Zeit in Standby. Aber bis 14:00Uhr - bei viel Sonne - blieb er einfach weiter im Standby. Auch per PV (über gridOff-Steckdose angeschlossen) hat er nicht geladen. Meldete 0W. Außerdem hat sich mein socSet automatisch (über Cloud?) auf 70% und minSoc auf 15% verändert. Die Änderungen habe ich nicht gemacht. Nutze keine App und mein Script ändert keine SoC-Werte. Musste die Werte wieder setzen und auch - wie Du - mqtt ein und ausschalten, damit der 1600AC+ neu startete. Bin ja auch nicht vor Ort. Nur zur Info: mit der bisherigen Firmware. Ein update wurde noch nicht gemacht. Ich habe ein Windows-Konsolen-Programm im beta-satus fertig . Damit kann man IP/DNS - Ziel der neuen Geräte direkt umschreiben. Test-Zert/key hat ein Hyper-Testgerät mit aktueller Firmware und TLS schon bestanden. Wenn ich wieder vor Ort bin werde ich es mit dem 1600AC+ testen.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    M
    @oliverio Ja, genauso ist meine Installation (MariaDB, phpmyadmin und jeweils im Docker Container). Der SQL läuft bereits und ist mit ioBroker über den SQL Adapter verbunden.
  • Hilfe für Skripterstellung mit Node-RED

    962 13k
    962 Themen
    13k Beiträge
    Marc BergM
    @Thomas-Braun sagte: In der Konfigurationsdatei von Node Red, also in der settings.js, kann durch hinzufügen der Zeitzone das Problem behoben werden. Wenn man den Adapter nutzt, werden Änderungen in der settings.js immer wieder überschrieben. Das bringt nichts. @taddy81 Was konkret ist denn das Problem? Lösen die inject Nodes falsch aus? Oder geht es nur um diese Meldung, bei der niemand weiß, woher sie kommt? @Taddy81 sagte: Auszug: 7/26/2026, 11:15:23 AMnode: debug 3msg.payload : string[24]
  • Geräte über 2 Alexa Konten hinweg Steuern

    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    J
    @crunchip kann sein und war bei mir eh nur Spieltrieb, weil ich die pro habe und kein Plan was mir die Option sagen wollte. Also mal Haken rein und schauen was passiert. Haken wieder raus und nicht mehr weiter drüber nachdenken. Ich habe auch nur eine Instanz laufen, somit ist die Funktion für mich uninteressant, aber gut zu wissen, wenn mans mal brauchen könnte ;)
  • TR-064 mit Klingelpaul - Klingelsignal in iobroker bekommen

    5
    0 Stimmen
    5 Beiträge
    733 Aufrufe
    amg_666A
    @strobel Hab das grade mal bei mir ausprobiert, wenn ich auf meiner Festnetznummer anrufe, dann springt der DP mit dem ersten Telefonklingeln auf True, das sollte ja auch so sein. Ich hab allerdings die FB7590 und nicht das "Kabelprodukt", Mal Adapter neu gestartet? Fritzbox FW aktuell?
  • Datei per Javascript auf Remote-Rechner kopieren

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    D
    @glasfaser Probiere ich mal aus. Auf jeden Fall schon mal danke.
  • Virtueller Schalter (zwei Wege Homematic, CuXD '& ioBroker)

    1
    1
    0 Stimmen
    1 Beiträge
    355 Aufrufe
    Niemand hat geantwortet
  • Led farbe

    1
    0 Stimmen
    1 Beiträge
    152 Aufrufe
    Niemand hat geantwortet
  • 4 Anzeigen per Raspberry bei Abwesenheit ausschalten

    javascript communication blockly
    4
    0 Stimmen
    4 Beiträge
    291 Aufrufe
    michl75M
    @johgre Guten Morgen, super vielen dank für die schnelle Hilfe... Das gefällt mir und so mach ich's auch :) Danke vielmals !!
  • Shelly 1 mit Türkontakt, Taster und Eltako

    javascript blockly scenes
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    Ralf_NR
    @smarteshome2020 @ALL Und wie wäre die Lösung, wenn der/die Eltako drin bleiben würde ??? Ich stehe nämlich auch gerade vor dem Problem der Statusabfrage ( Ist Licht an oder aus ) bei einem shelly 1 der VOR einem Eltako (SDS 61/1-10V) hängt. Durch die Schaltung bin ich gezwungen AUTO OFF zu nutzen ( Schalter als Taster ). Somit fällt der Switch Status im Iobroker immer gleich wieder auf FALSE. Wie weiss ich , ob da Licht gerade an oder aus ist ??? Wie habt Ihr das gelöst ? LG. Ralf.
  • Fahrtenlog über VW Connect Adapter

    4
    0 Stimmen
    4 Beiträge
    550 Aufrufe
    M
    @night2k5 Hi. Mit dem setTimeout klappt nur der Log. Nun geht darum die Daten weiter zu bearbeiten.
  • Schalter und Bewegungsmelder script

    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    ?
    @jayr Hallo, Habe letzte Woche auch daran gesessen und ein Script geschrieben womit ich mit Hue Bewegungsmeldern meine Leuchten steuere. Hintergrund warum ich das über ioBroker mache war, das die Funktion „disturb not my scene“ oder andere apps nicht genau hin hauen wenn man zb noch ein Taster mit eingebaut hat. Vielleicht hilft dir das weiter. Bei mir soll der BWM nur schalten, wenn vorher die hue Gruppe auch aus war oder wenn der BWM vorher schon ausgelöst hat, so das man nicht bei laufender Bewegung plötzlich im Dunkeln steht. Und dann natürlich nur bei bestimmter Dunkelheit und bestimmte Zeiten und auch nur dann wenn ein evtl vorhanden Schalter auf false steht. /** * *KUECHE BWM* * Wenn der BWM ab Dämmerung reagiert dann Licht in der Küche an * und nach 90 sek. wieder ausschalten, wenn keine Bewegung mehr. */ let motionSensorID = '0_userdata.0.Datenpunkte.Hue.Sensoren.BWM.Kueche_BWM'; //Bewegungsmelder let ambientSensorID = 'hue.0.Hue_ambient_light_sensor_1.lightlevel'; //Lichtsensor vom BWM let sceneDay = 'hue.0.Küche.scene_normal'; //Hue Szene für Tag let sceneNight = 'hue.0.Küche.scene_normal_gedimmt'; //Hue Szene für Nacht let lightgroup = 'hue.0.Küche.on'; //Lichtgruppe let switchKitchen = 'hm-rpc.0.00085BE98EF8A1.4.STATE'; // Lichtschalter Küche var timeoutday = 300000; //Timeout Tag Default 300000 = 5 minutes var timeoutnight = 60000; //Timeout Nacht Default 60000 = 1 minute var lightlevel = 10000; //Default 8200 Lichtlevel wann der BWM auslösen soll var starttimeday = '07:00'; //Wann der Tag beginnt var endtimeday = '23:00'; //Wann der Tag endet var timeout_deactivate_light = null; //setzt Timeout auf null var bwmState = false; //BWM var damit der nur reagiert wenn Hue Gruppe aus war on({id: motionSensorID}, function (obj) { {if ((!getState(switchKitchen).val) && (bwmState === true) || (!getState(lightgroup).val)) if ((obj.state.val) && (getState(ambientSensorID).val < lightlevel) && (compareTime(starttimeday, endtimeday, "between")) ) { //Wenn am Tag Bewegung erkannt und Helligkeit unter dem Wert lightlevel liegt clearTimeout(timeout_deactivate_light); timeout_deactivate_light = null; //setze Timeout zurück setState(sceneDay, true); //Schalte Licht ein bwmState = true; //Setze BWM var auf wahr } else if ((obj.state.val) && (getState(ambientSensorID).val < lightlevel)) { //Wenn in der Nacht Bewegung erkannt und Helligkeit unter dem Wert lightlevel liegt clearTimeout(timeout_deactivate_light); timeout_deactivate_light = null; //setze Timeout zurück setState(sceneNight, true); //Schalte Licht ein bwmState = true; //setze BWM var auf wahr } else if ((!obj.state.val) && (compareTime(starttimeday, endtimeday, "between"))) { //Wenn keine Bewegung mehr erkannt wird am Tag timeout_deactivate_light = setTimeout(function () { //Setze Timeout ein nach vorher eingebener Zeit setState(lightgroup, false); //Schaltet Beleuchtung aus bwmState = false; //setze BWM var auf falsch timeout_deactivate_light = null;}, timeoutday); } else { //Wenn keine Bewegung mehr erkannt wird in der Nacht timeout_deactivate_light = setTimeout(function () { //Setze Timeout ein nach vorher eingebener Zeit setState(lightgroup, false); //Schaltet Beleuchtung aus bwmState = false; //setze BWM var auf falsch timeout_deactivate_light = null;}, timeoutnight); } }});
  • Mehrere Befehle an Alexa und Hue - wie am besten?

    3
    0 Stimmen
    3 Beiträge
    444 Aufrufe
    M
    @bananajoe Danke für den Hinweis, das probiere ich mal aus! :-)
  • Homematic Ip 6Fach Taster fehlende Statuswerte

    javascript
    10
    1
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    A
    @sebastian-s-0 schaut euch mal meine Vorlage an: https://forum.iobroker.net/topic/40279/vorlage-einfaches-blockly-für-homematic-ip-fernbedienung
  • Homematic Dimmer bei Taster halten (Long Press)

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    4k Aufrufe
    paul53P
    @florianshj sagte: Bei homematic-Schaltern gibt es auch (Leider offensichtlich nur in unverschlüsselter Kommunikation) auch press_cont, d.h. dieses Event wird kontinuierlich gesendet, wenn ein Taster gedrückt wird. press_long/press_short wird ja beim Loslassen des Taster m.E. gesendet. Bei HomeMatic classic habe ich folgendes Verhalten festgestellt: PRESS_LONG und PRESS_CONT sind nur zu gebrauchen, wenn AES_ACTIVE ausgeschaltet ist. PRESS_SHORT wird bei Loslassen innerhalb von 400 ms (einstellbar) nach Drücken aktualisiert PRESS_LONG wird 400 ms (einstellbar) nach Drücken aktualisiert, wenn noch nicht losgelassen PRESS_LONG_RELEASE wird beim Loslassen aktualisiert, wenn PRESS_LONG aktiv war PRESS_CONT wird das erste Mal zusammen mit PRESS_LONG aktualisiert und dann alle 250 ms bis zum Loslassen Bei HMIP soll sich PRESS_LONG wohl so verhalten wie PRESS_CONT bei HM classic?
  • Script umwandeln für Iobroker

    6
    0 Stimmen
    6 Beiträge
    915 Aufrufe
    OliverIOO
    @happyuser20 ja, die lösung von sborg ist die universellere, die immer funktioniert es gibt noch einen befehl, mit dem man direkt auf dem gleichen rechner dann ebenfalls einen datenpunkt setzen kann
  • [Fritzbox/TR-064] Akt. Gespräch auf bestimmter Leitung

    3
    0 Stimmen
    3 Beiträge
    369 Aufrufe
    TheDukeT
    @jemand sagte in [Fritzbox/TR-064] Akt. Gespräch auf bestimmter Leitung: Ich hab es nun mit einer anderen Home-Automation-Software gelöst, die mir das so anzeigt, dass ich damit arbeiten kann. welche ist das denn ?
  • IOBroker Umzug auf NAS. Alte Scripte laufen nicht

    6
    0 Stimmen
    6 Beiträge
    569 Aufrufe
    F
    @homoran sagte in IOBroker Umzug auf NAS. Alte Scripte laufen nicht: Adlerauge! ist schwierig die relevanten Infos immer zu finden, Übungssache. Gelingt aber leider nicht immer :-)
  • Keinen Wert für pregard vom SHM2.0

    1
    0 Stimmen
    1 Beiträge
    154 Aufrufe
    Niemand hat geantwortet
  • [gelöst] Min /Max Temperatursensor

    Verschoben
    43
    0 Stimmen
    43 Beiträge
    15k Aufrufe
    B
    Liebe Community, Ich würde zu diesem Thema eure hilfe benötigen. Bin noch kompletter Rookie und habe versucht das hier angegebene Skript einzubauen. Datenpunkte sind erstellt, MySQL läuft und dennoch erhalte ich eine Fehlermeldung. Kann mir bitte jemand weiter helfen? var id = 'mqtt.0.Temp_Keller.VL_Heizung.temperature'; var maxid = 'mqtt.0.Temp_Keller.VL_Heizung.Max24'; var minid = 'mqtt.0.Temp_Keller.VL_Heizung.Min24'; var dt = 24;//Zeitraum in Stunden dt = dt*3600*1000; schedule("*/5 * * * *", function(){ SQLAbfrage(id); }); SQLAbfrage(id); // maximum, minimum function minimum(result) { log(JSON.stringify(result.result)); setState(minid, result.result[0].MinVal); } function maximum(result) { log('Fn Max'+ JSON.stringify(result.result)); setState(maxid, result.result[0].MaxVal); } function SQLAbfrage () { log('Name: '+id); sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \'' + id + '\'', GetResults); } function GetResults (dpoint) { var end_time = new Date().getTime(); var start_time = new Date().getTime() - dt; log('startzeit: '+start_time); log('endzeit: '+end_time); log('id: '+dpoint.result[0].name); //log(JSON.stringify(dpoint.result)+'//'+start_time); //log(dpoint.result[0].id + '---//---' + dpoint.result[0].name); sendTo('sql.0', 'query', 'SELECT Round(Min(val),1) As MinVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',minimum); sendTo('sql.0', 'query', 'SELECT Round(Max(val),1) As MaxVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',maximum); } Ich erhalte folgenden Fehler: 24.1.2021, 16:16:57.511 [info ]: javascript.0 (8747) Start javascript script.js.common.Temp_VL-min_max 24.1.2021, 16:16:57.538 [info ]: javascript.0 (8747) script.js.common.Temp_VL-min_max: Name: mqtt.0.Temp_Keller.VL_Heizung.temperature 24.1.2021, 16:16:57.540 [info ]: javascript.0 (8747) script.js.common.Temp_VL-min_max: registered 0 subscriptions and 1 schedule 24.1.2021, 16:16:57.554 [info ]: javascript.0 (8747) script.js.common.Temp_VL-min_max: startzeit: 1611415017554 24.1.2021, 16:16:57.555 [info ]: javascript.0 (8747) script.js.common.Temp_VL-min_max: endzeit: 1611501417554 24.1.2021, 16:16:57.576 [warn ]: javascript.0 (8747) TypeError: Cannot read property '0' of undefined at Object.GetResults [as cb] (script.js.common.Temp_VL-min_max:39:27) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5297:71) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41) at processImmediate (internal/timers.js:461:21) Wenn ich das richtig Interpretiere findet er in der Datenbank des Datenpunkes keine Werte. MySQL ist für den Punkt jedoch aktiviert... [image: 1611501594333-c51a3e7b-bcca-4ca8-be3a-3b7265bd9c4e-image.png] Da ich bei den Skripts nur bedingt Durchblicke und mich in den meisten Fällen mit Copy/Paste und Blockly durch Schummle wäre ich sehr dankbar über eure Hilfe! Herzlichen Dank!!
  • Zigbee Datenpunkt available, Skript für Aktualisierung

    blockly monitoring heating
    1
    2
    0 Stimmen
    1 Beiträge
    227 Aufrufe
    Niemand hat geantwortet
  • Funktion: Prüfen, ob innerhalb eines Zeitfensters

    Verschoben
    11
    1 Stimmen
    11 Beiträge
    5k Aufrufe
    K
    @night2k5 vielen Dank! Das sind halt immer die Kosten einer Forumsumstellung. Bei mir ist auch firefox nicht mehr wirklich nutzbar. Die Güterabwägung bei der Kosten-Nutzenanalyse fällt halt nicht überall gleich aus.
  • Variable "flackert" zw. true und false

    javascript
    8
    1
    0 Stimmen
    8 Beiträge
    864 Aufrufe
    G
    @gender Möchte dieses Thema hier nochmal hochziehen, da ich immer noch keine Lösung gefunden habe. Ich habe inzwischen zumindest den Workarround entdeckt, dass alles wieder funktioniert, wenn ich das "materialdesign - DialogView"-Widget, dass ja angezeigt wird, sobald die Variable auf true geht, lösche und wieder neu anlege (bzw. eine Kopie erzeuge und das "flackernde" Dialog-Widget lösche. Dann hört das oben beschriebene Verhalten (das Flackern der Variablen) auf. Irgendwann (nach einem Tag, oder auch mal nach einer Woche) taucht es dann wieder auf. Vielleicht kannst du @Scrounger dir das irgendwie erklären, welches Zusammenhang es mit dem Dialog-Widget geben könnte, daher habe ich dich hier einmal verlinkt. Danke.

457

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge