Skip to content

Skripten / Logik

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

16.5k Topics 213.5k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    G
    @holgerwolf abgesehen von dem, was @ralf77 geschrieben hat: Ecoflow (die App) selbst kann inzwischen auch mit Shelly 3EM arbeiten. Was hast Du im Einsatz?
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    B
    @redbull2906 Also ich haben keinen zusätzlichen mqtt Broker/Client im iobroker installiert, das geht mit dem integrierten mit dem ich eh schon Tasmota Geräte etc. auslese bzw. Steuere. Die mqtt Daten vom iobroker muss man nur in der App eintragen. In der App sieht man dann nicht mehr all zu viel aber das braucht man auch nicht. Was man sehen möchte kann man auch mit dem VIS oder dem Energiefluss Adapter visualisieren.
  • 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
  • MiLight Ansteuerung per node-red

    Moved
    1
    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • Bei Druck eines Tasters Toggeln

    Moved
    7
    0 Votes
    7 Posts
    1k Views
    paul53P
    @pix: Steht das ! fürs Umkehren des Wertes? ` Ja, ! vor einem Wert (boolean) bedeutet https://wiki.selfhtml.org/wiki/JavaScript/Operatoren/Logische_Operatoren.
  • [gelöst] setStateDelayed

    Moved
    16
    0 Votes
    16 Posts
    7k Views
    R
    Nach einigem Herumprobieren und testen habe ich jetzt glaube ich eine Lösung die funktioniert. Kann man vielleicht Code-mäßig noch optimieren, aber im Moment bin ich nur froh, dass es so geht, wie ich will :) var temp_switch = 2.5; //über welcher Differenztemperatur die Sonne scheint var timer_ein; var timer_aus; on({id: "hm-rpc.0.LEQ0244813.3.TEMPERATURE"/*Sonnensensor_3.TEMPERATURE*/, change: "any"}, function(dp) { if(dp.state.val >= temp_switch) { log("----------------test sonne_temp true"); setState("javascript.1.Variablen.Sonne_temp"/*Sonne_temp*/, true); } else { log("----------------test sonne_temp false"); setState("javascript.1.Variablen.Sonne_temp"/*Sonne_temp*/, false); } }); on({id: "javascript.1.Variablen.Sonne_temp"/*Sonne_temp*/, change: "any"}, function(dp) { var old = dp.oldState.val; log("------------------ test sonne old: "+old+" new: "+dp.state.val, "info"); if(dp.state.val === true && old === false) { log("-------------------test sonnenvar auf ein"); clearTimeout("hm-rega.0.64510"/*Sonne_ccu*/); setStateDelayed("hm-rega.0.64510"/*Sonne_ccu*/, true, 300000); } if(dp.state.val === false && old === true) { log("-------------------test sonnenvar auf aus"); clearTimeout("hm-rega.0.64510"/*Sonne_ccu*/); setStateDelayed("hm-rega.0.64510"/*Sonne_ccu*/, false, 900000); } }); und so hat der heutige Tag dazu ausgeschaut: [image: 421_unbenannt.jpg]
  • Erste Gehversuche…Hilfe

    Moved
    16
    0 Votes
    16 Posts
    3k Views
    V
    Hallo, du musst zuerst den Wert holen und kannst ihn dann prüfen: FALSCH: if(obj.newState.val && getState(TAG2 === false).val) RICHTIG: if(obj.newState.val && getState(TAG2).val === false) Mit getState(XXX).val bekommst du den Inhalt der Variable und danach auf Inhalt prüfen. LG Christian
  • Sysinfo Flow - node-red-contrib-os

    Moved
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • [gelöst]HTTP Get Problem

    Moved
    17
    0 Votes
    17 Posts
    4k Views
    S
    So nun alles probiert und funktioniert alles. Warum es nur mit der MyFritz Freigabe als URL funktioniert weiß ich leider immer noch nicht. Danke nochmal an alle die sich für mich ins grübeln gebracht haben. Grüße
  • [gelöst]Anfängerfragen

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    M
    Vielen Dank für die schnelle und ausführliche Antwort! Das hilft mir sehr weiter. Gesendet von meinem A0001 mit Tapatalk
  • Meldung von Bewegung bei Abwesenheit

    Moved
    3
    0 Votes
    3 Posts
    792 Views
    T
    Klasse! Danke dir Bluefox läuft jetzt!
  • Script zum umschalten der Werte

    Moved
    18
    1
    0 Votes
    18 Posts
    3k Views
    M
    [{"tpl":"tplSegmentClock","data":{"oid":"modbus.0.inputRegisters.30865_Bezug","visibility-cond":"==","visibility-val":"1","clock":false,"seconds":false,"pattern":"#####","colorOn":"#fd1717","colorOff":"rgba(0, 0, 0, 0.1)","runStepInterval":"0","segmentCount":"7","displayAngle":"9","digitHeight":"25","digitWidth":"20","digitDistance":"2","segmentWidth":"2","segmentDistance":"0.5","cornerType":"PointedCorner","gestures-offsetX":"0","gestures-offsetY":0,"gestures-swiping-value":"","gestures-rotating-value":"","gestures-pinching-value":"","gestures-swipeRight-value":"","gestures-swipeLeft-value":"","gestures-swipeUp-value":"","gestures-swipeDown-value":"","gestures-rotateLeft-value":"","gestures-rotateRight-value":"","gestures-pinchIn-value":"","gestures-pinchOut-value":"","text":"","locked":false,"visibility-oid":"javascript.0.Displayzaehler"},"style":{"left":"796px","top":"6px","width":"334px","height":"92px","text-align":"","color":"#fd0808"},"widgetSet":"timeandweather"},{"tpl":"tplSegmentClock","data":{"oid":"modbus.0.inputRegisters.30775_PVLeistung","visibility-cond":"==","visibility-val":"2","clock":false,"seconds":false,"pattern":"#####","colorOn":"#fd1717","colorOff":"rgba(0, 0, 0, 0.1)","runStepInterval":"0","segmentCount":"7","displayAngle":"9","digitHeight":"25","digitWidth":"20","digitDistance":"2","segmentWidth":"2","segmentDistance":"0.5","cornerType":"PointedCorner","gestures-offsetX":"0","gestures-offsetY":0,"gestures-swiping-value":"","gestures-rotating-value":"","gestures-pinching-value":"","gestures-swipeRight-value":"","gestures-swipeLeft-value":"","gestures-swipeUp-value":"","gestures-swipeDown-value":"","gestures-rotateLeft-value":"","gestures-rotateRight-value":"","gestures-pinchIn-value":"","gestures-pinchOut-value":"","text":"","locked":false,"visibility-oid":"javascript.0.Displayzaehler"},"style":{"left":"796px","top":"7px","width":"334px","height":"92px","text-align":"","color":"#fd0808","font-style":"normal"},"widgetSet":"timeandweather"},{"tpl":"tplSegmentClock","data":{"oid":"modbus.0.inputRegisters.30867_Einspeisung","visibility-cond":"==","visibility-val":"3","clock":false,"seconds":false,"pattern":"#####","colorOn":"#fd1717","colorOff":"rgba(0, 0, 0, 0.1)","runStepInterval":"0","segmentCount":"7","displayAngle":"9","digitHeight":"25","digitWidth":"20","digitDistance":"2","segmentWidth":"2","segmentDistance":"0.5","cornerType":"PointedCorner","gestures-offsetX":"0","gestures-offsetY":0,"gestures-swiping-value":"","gestures-rotating-value":"","gestures-pinching-value":"","gestures-swipeRight-value":"","gestures-swipeLeft-value":"","gestures-swipeUp-value":"","gestures-swipeDown-value":"","gestures-rotateLeft-value":"","gestures-rotateRight-value":"","gestures-pinchIn-value":"","gestures-pinchOut-value":"","text":"","locked":false,"visibility-oid":"javascript.0.Displayzaehler"},"style":{"left":"798px","top":"7px","width":"334px","height":"92px","text-align":"","color":"#fd0808"},"widgetSet":"timeandweather"}]
  • [gelöst]Wie Variablen einlesen

    Moved
    5
    0 Votes
    5 Posts
    786 Views
    BluefoxB
    @Patrick: perfekt vielen dank so einfach wahr es ` Punkt 1: http://forum.iobroker.net/viewtopic.php?f=8&t=2451 8-)
  • Duplicate Name bei speichern eines Scripts !

    Moved
    3
    0 Votes
    3 Posts
    563 Views
    W
    Hallo Bluefox, durch den großen Sprung von der Javascript Version und dem neuen Aufbau mit linker Spalte Namen der Scripte und rechte Spalte das geöffnete Script mußte ich mich erstmal zurechtfinden. Das Problem was ich jetzt hatte war das z.B das Script Waschmaschine rechts geöffnet war und ich nochmals links in der Spalte auf das 3.Symbol von links geklickt habe und das Script Waschmaschine wurde nochmals erstellt…somit war es 2mal vorhanden. Das habe ich nicht sofort mitbekommen und durch das abspeichern der Änderung im 1.Script kam das Popup Fenster mit Duplicate Name. Schau mal ob du es reproduzieren kannst und ob es ein Fehler ist oder das Symbol bedeutet einfach Script kopieren. Wenn ja dann Asche auf mein Haupt !!! Gruß Sebastian
  • 0 Votes
    22 Posts
    3k Views
    BluefoxB
    Probier mal mit: iobroker object del "_alle_10_Minutenfunction_MHS()_{___createState(\'Meterhomeserver_Datum\');_createState(\'Meterhomeserver_Stunde\');_createState(\'Meterhomeserver_Minuten\');_createState(\'Zaehler_views\');___}_schedule(\"*/10_*_*_*_*\",_function_()_{____________________________________________________//oder!!_soll_entweder_ausgelöst_werden_alle_10_Minuten____log(\"===>Start_neues_Skript\");_____log(\"===>Solar_-_Werte_berechnen_-_Start_all_10_minutes!\");_____MHS_();_});"
  • [beantwortet] createChannel ?

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    BluefoxB
    @ruhr70: @Bluefox: @ruhr70: Bluetooth Scanner -> muss viel abgefangen werden -> Bedarf? Eventuell für Anwesenheitserkennung und Geräteüberwachung ohne IP -> als Script ist es fast fertig :-) Danke für die Hinweise! Diesen will ich sogar machen. Problem ist es muss klick, klick gehen und wenn man anfängt zu denken: welche module ich installieren muss, wie konfiguriere ich das… Da wird man es lieber nicht machen. ` > Als Script ist es schon so weit, dass man im Prinzip nur "noble" in der Instanz des Javascript-Adapters eintragen muss. Dann kann das Script ohne Änderung mit den Default-Einstellungen auf einem Raspberry Pi 3 laufen. Ich stell es nachher mal rein, auch wenn es erst bei 90% des geplanten Ergebnis ist. Aber hätte ich das vorher gewusst, dass da noch ein Adapter kommt, hätte ich mir die Arbeit gesparrt :lol: :lol: Als Adapter wären meine Ansprüche zu hoch. Das Script hat jetzt zwei Tage gebraucht. Für den Adapter würde ich bei meine Kenntnisstand ein paar Wochen benötigen. > Aber hätte ich das vorher gewusst, dass da noch ein Adapter kommt, hätte ich mir die Arbeit gesparrt Ich will den schreiben, aber es heißt lange nicht, dass ich die Zeit dafür habe :)
  • [beantwortet] mehrfach Reaktion bei externen Subscription

    Moved
    8
    0 Votes
    8 Posts
    1k Views
    ruhr70R
    @Bluefox: removeAllListeners wird dein Problem lösen. ` Danke! :) :) Versuche ich gleich. Ansonsten schaut es schon ganz gut aus ;-)
  • Skripte schreiben geht nicht mehr

    Moved
    1
    1
    0 Votes
    1 Posts
    669 Views
    No one has replied
  • Zeilennummer Javascript Fehler im Log?

    Moved
    4
    0 Votes
    4 Posts
    792 Views
    ruhr70R
    @ruhr70: es gibt auch wichtigeres. Wenn man weiss woran es liegt ist es OK. :-) ` [EDIT] Ich habe mittlerweile recht viele globale Scripte und auch einige Daten (JSON) global abgelegt, so dass ich die Daten und die Funktionen von jedem Script nutzen kann. Wenn diese nun alle vor allen andren Skripten hinzugefügt werden und es viele kleine nicht globale Script gibt… ...wird sich das irgendwie auf die Performance auswirken oder macht das nichts aus?
  • Node module state? Grundlagenfrage.

    Moved
    1
    0 Votes
    1 Posts
    650 Views
    No one has replied
  • Popup und Counter bei Bewegung

    Moved
    15
    0 Votes
    15 Posts
    4k Views
    S
    Hallo Pix, bisher habe ich es leider noch nicht hinbekommen den View automatisch zu wechseln. Kannst du mir nochmal helfen? Vielleicht hilft mir das auch bei meinem anderen Fred :-) Gruß Sven Gesendet von iPhone mit Tapatalk
  • HM Aktoren in Reihenfolge schalten

    Moved
    2
    0 Votes
    2 Posts
    653 Views
    paul53P
    @Marcolotti: …Elektroheizungen nacheinander jeweils z.B. für 15 Minuten einzuschalten. ` Wie man das nacheinander erfolgende Einschalten realisieren kann, kannst Du an http://forum.iobroker.de/viewtopic.php?f=21&t=2458&sid=3e38fb413418030b99a6f3f2df06c556&sid=3e38fb413418030b99a6f3f2df06c556#p21662 sehen. @Marcolotti: Vielleicht wäre es gar sinnvoller das HM Wandthermostat anzusprechen. Manche Zimmer erfordern vielleicht ein Heizen garnicht, weil die Temperatur stimmt. ` Der WT stellt selbst fest, ob Heizen erforderlich ist. Allerdings sollte die Elektroheizung nur eingeschaltet werden, wenn der Temperatur-Istwert um einen bestimmten Betrag (z.B. 0,3 K) unter dem Sollwert des betreffenden Raumes liegt. Damit dies möglichst häufig der Fall ist, macht es Sinn, den WT(Gruppen)-Sollwert aller betreffenden Räume um 0,5 K oder 1 K abzusenken. Der Vergleich für die Elektroheizung muss dann aber mit dem WT-Sollwert + Absenkwert erfolgen.
  • Best practice: Verzögert schalten

    Moved
    6
    0 Votes
    6 Posts
    2k Views
    R
    die Random Funktion ist gut zu kennen, danke. Bei mir hat jeder Rolladen seine eigene Verzögerungszeit fix zugewiesen :)

278

Online

32.7k

Users

82.3k

Topics

1.3m

Posts