Skip to content

Skripten / Logik

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

16.6k Topics 214.0k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    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 Topics
    80k Posts
    Murphy 0M
    @berny-k Der bypassMode sollte dann so gestellt sein dass die Module weiter produzieren und die Energie ins Haus geben. Probiere das so zu machen. Sicherung würde ich vorher machen 😉
  • 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
  • Virtueller Schalter (zwei Wege Homematic, CuXD '& ioBroker)

    1
    1
    0 Votes
    1 Posts
    330 Views
    No one has replied
  • Led farbe

    1
    0 Votes
    1 Posts
    133 Views
    No one has replied
  • 0 Votes
    4 Posts
    183 Views
    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 Votes
    7 Posts
    921 Views
    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 Votes
    4 Posts
    411 Views
    M
    @night2k5 Hi. Mit dem setTimeout klappt nur der Log. Nun geht darum die Daten weiter zu bearbeiten.
  • Schalter und Bewegungsmelder script

    4
    0 Votes
    4 Posts
    971 Views
    ?
    @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 Votes
    3 Posts
    361 Views
    M
    @bananajoe Danke für den Hinweis, das probiere ich mal aus! :-)
  • Homematic Ip 6Fach Taster fehlende Statuswerte

    javascript
    10
    1
    0 Votes
    10 Posts
    2k Views
    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)

    Moved
    17
    0 Votes
    17 Posts
    3k Views
    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 Votes
    6 Posts
    777 Views
    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 Votes
    3 Posts
    315 Views
    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 Votes
    6 Posts
    477 Views
    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 Votes
    1 Posts
    137 Views
    No one has replied
  • [gelöst] Min /Max Temperatursensor

    Moved
    43
    0 Votes
    43 Posts
    14k Views
    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!!
  • 0 Votes
    1 Posts
    197 Views
    No one has replied
  • Funktion: Prüfen, ob innerhalb eines Zeitfensters

    Moved
    11
    1 Votes
    11 Posts
    5k Views
    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 Votes
    8 Posts
    724 Views
    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.
  • Dialog mit Alexa auslösen

    6
    0 Votes
    6 Posts
    655 Views
    crunchipC
    @tristan https://forum.iobroker.net/topic/29838/alexa-fragt-und-verarbeitet-die-antwort/4
  • [blockly] Sensorwert nur verwenden, wenn aktuell

    Moved
    4
    1
    0 Votes
    4 Posts
    543 Views
    Ivan AndricI
    @homoran Vielen Dank, die Idee mit dem Timeout hilft mir weiter.
  • Aktuelle Laufzeit des Waschvorgangs anhand von Wattzahl

    87
    0 Votes
    87 Posts
    11k Views
    HomoranH
    @simatec Dann sehe ich es mir nochmal an - schiebe ich schon so lange auf

607

Online

32.7k

Users

82.5k

Topics

1.3m

Posts