Skip to content

Skripten / Logik

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

16.5k Themen 213.4k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    A
    hy ist es möglich die Preisdaten Tibber simulieren Tibberadapter pausiert nu sagt das skript Pausiert-keine Preisdaten! in VIS hab meine aktuellen preise von anderen Anbieter händisch eingetragen jedoch wird nicht damit geregelt was kann da angepasst werden um es wieder zum laufen zu bekommen da die berechnung dahinter mir schon gefällt
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    M
    @schweiger2 Übergabe der Daten an command? z.B. DP: hue.0.Hue_Bridge.Schubladen.command {"on":true,"bri":128,"r":255,"g":0,"b":0,"transitiontime":0}
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    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
  • Wie Objekt aus Windows heraus schalten?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    505 Aufrufe
    N
    @dYna: wget installieren (https://sourceforge.net/projects/gnuwin … /1.11.4-1/) In der bat Datei dann: @echo off start C:\"Program Files (x86)"\GnuWin32\bin\wget.exe -q -O- http://192.168.xxx.xxx:8082/set/javascript.0.VSX921.Steuerung.921_Power?value=true Es öffnet/schließt sich allerdings ganz kurz ein Dos Fenster. ` Hat wunderbar funktioniert, vielen Dank. Nur aus Interesse, gäb es da eigentlich auch eine einfache javascript oder python Lösung für?
  • Anfänger frage blockly

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    430 Aufrufe
    P
    Hallo, ich schalte so die aktuelle Akivität aus: var Aktiv=getState("harmony.0.Wohnzimmer.activities.currentActivity").val; /*activity:currentActivity*/ log('Aktivität:' + Aktiv); if (Aktiv != "PowerOff"){ setState("harmony.0.Wohnzimmer.activities." + Aktiv,0); /*activity:Entertain*/ }
  • Mqtt publish aus Blockly heraus

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    4k Aufrufe
    K
    Nein Ihr seit nicht alleine ;-) Ich hatte ein ähnliches Problem. Ich wollte eine Nachricht von Telegram auf einen MQTT-Client weiterleiten. Es funktioniert mit dem Block "schreibe". Wie man mit den Object-IDs umgeht ist wohl soweit klar. 6563_mqtt_write.jpg
  • [GELÖST] Einfaches Skript Trockner

    Verschoben
    23
    0 Stimmen
    23 Beiträge
    5k Aufrufe
    G
    Hi, ich glaube es läuft nun. Manuell anzulegende Zustände werden automatisch erzeugt und die Benachrichtigung hat zumindest gestern funktioniert. Werde es weiter beobachten. Aber für alle die es interessiert: ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="F,.Vod%f}Cg;|Oo;94-p" x="-387" y="-112"><field name="NAME">javascript.0.Strompreis_BEV</field> <statement name="STATEMENT"><block type="create" id="Ea.~Ic(Gxsfbs-Qh92#Q"><field name="NAME">javascript.0.Trockner_fertig</field> <statement name="STATEMENT"><block type="on_ext" id="|!S]R7E/#@_?QYFja{9-"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="|7}Z(4Aw)J3~+GxkGmXz"><field name="oid">default</field></shadow> <block type="field_oid" id="aSTL*SXFQ4VX{9)}~weM"><field name="oid">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> <statement name="STATEMENT"><block type="controls_if" id="oySPD#0|W2#W|38omTjm"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="`Y#S-zU_+g~,7;RurA,M"><field name="OP">GT</field> <value name="A"><block type="get_value" id="!u87F9e9={O16d0^q@Ce"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> <value name="B"><block type="text" id="POqK5+]V9aW@.^u4:0{u"><field name="TEXT">100</field></block></value></block></value> <statement name="DO0"><block type="control" id="]:A|]Se/Erykn]%ooL_a"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Trockner_fertig</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="3w/816f|wlN#7`]jC+T]"><field name="BOOL">FALSE</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="wBze(wZ)tu,@pk{nh/!D"><field name="OP">LT</field> <value name="A"><block type="get_value" id="rn/~9BXhlZ`6GLOQ%lPY"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> <value name="B"><block type="text" id=";pS%_T#H}gn1u1-sT;A4"><field name="TEXT">2</field></block></value></block></value> <statement name="DO1"><block type="control" id="RGwxU`:;0LXmVUMqYnzQ"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Trockner_fertig</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="@G`^/O_H7lu-hSq7XR;h"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> <next><block type="on_ext" id="j~P,]MqE6/m#CqI4OC}z"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="q3c?,Y@j8#Mx69G7#_aO"><field name="oid">default</field></shadow> <block type="field_oid" id="xId:05{[KI3Va|)pIt^Z"><field name="oid">javascript.0.Trockner_fertig</field></block></value> <statement name="STATEMENT"><block type="controls_if" id="HaH]+m[(G#n|KinBlxPQ"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="mzkH?,-peLm](^UVAwLw"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="JmU8`T/*u8fURho[MmQU"><field name="ATTR">val</field> <field name="OID">javascript.0.Trockner_fertig</field></block></value> <value name="B"><block type="logic_boolean" id="_jka=uRyG7LS7_Q*__1U"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="pushover" id="DFuo.arGMtzP:9IjX5?j"><field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="CZMifPaOx(95WrhRMhtP"><field name="TEXT">text</field></shadow> <block type="text" id="Dn.?KbP;Khknz]Ur6BtB"><field name="TEXT">Der Trockner wurde eingeschaltet und meldet sich wenn er ausgeräumt werden möchte.</field></block></value> <value name="TITLE"><block type="text" id="*s%D{wA[N^kS7~nVNs-+"><field name="TEXT">Der Trockner wurde eingeschaltet</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="ls9KLR)`)iRDzXe4bn:)"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="lCkRu;T@itl}jSua3qs^"><field name="ATTR">val</field> <field name="OID">javascript.0.Trockner_fertig</field></block></value> <value name="B"><block type="logic_boolean" id="KT=xo9.(?iokmzj{MT[F"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO1"><block type="pushover" id="O0qXN.qJqKyU,[/*W!n^"><field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="CZMifPaOx(95WrhRMhtP"><field name="TEXT">text</field></shadow> <block type="text_join" id="uf6p=p%N*yG5@{=crOhw"><mutation items="6"></mutation> <value name="ADD0"><block type="text" id=")(]Iu`7kT^Vnxq@Hzv2}"><field name="TEXT">Der Trockner ist fertig.</field></block></value> <value name="ADD1"><block type="text" id="f5MUuB~P6/[V.0O1Ok!{"><field name="TEXT">Es wurden</field></block></value> <value name="ADD2"><block type="get_value" id="J}EQy*8e?:i6f!*9xLQj"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Today</field></block></value> <value name="ADD3"><block type="text" id="%b@I]9[H5fqTEYQKlwmd"><field name="TEXT">Kwh verbraucht, das endspricht</field></block></value> <value name="ADD4"><block type="math_arithmetic" id="8T*YXBu,g~[{yH:c:CP~"><field name="OP">MULTIPLY</field> <value name="A"><shadow type="math_number" id=";B0#rrl+)73i)N=QwR.V"><field name="NUM">1</field></shadow> <block type="get_value" id="()b_GyuWg{.Jeda8ESvS"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Today</field></block></value> <value name="B"><shadow type="math_number" id="(qK48T-k{%alK3dXTK5p"><field name="NUM">1</field></shadow> <block type="get_value" id="T:XXwSUtY6*TI*yvB]]O"><field name="ATTR">val</field> <field name="OID">javascript.0.Strompreis_BEV</field></block></value></block></value> <value name="ADD5"><block type="text" id="-F4#`(@HuzhNr5/M^*m@"><field name="TEXT"> Euro</field></block></value></block></value> <value name="TITLE"><block type="text" id="JWit=}?Pr(gz%RgJZp?B"><field name="TEXT">Der Trockner ist fertig.</field></block></value></block></statement></block></statement></block></next></block></statement></block></statement></block></xml> [3449_blockly_trockner_benachrichtigung.png](/assets/uploads/files/3449_blockly_trockner_benachrichtigung.png)
  • (Gelöst) Blockly Wert addieren

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    3k Aufrufe
    M
    Hallo Paul, mein Fehler sorry, :roll: Danke für deine Hilfe, klappt super :D :D Lg Many
  • [gelöst] Funktionierende PC Ausschalten Skript + Skript um Win Tasten zu Steuern

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    R
    Bessere Skript als meine von instalator. Objekt für HotKey eingabe. ! ` > createState('GetAdmin.cmd', ''); createState('GetAdmin.HotKey', ''); createState('GetAdmin.Host', '192.168.1.10'); //!!!!!!CHANGE NEED createState('GetAdmin.Port', '8585'); //!!!!!!CHANGE NEED var request = require('request'); on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) { if(obj.state.val !== '' || typeof obj.state.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendCmdGetAdmin(obj.state.val,host,port); log('Send to GetAdmin - cmd: '+ obj.state.val); }else{log('GetAdmin. Command not specified');} }); on({id: 'javascript.0.GetAdmin.HotKey', change: 'any'}, function (obj) { if(obj.state.val !== '' || typeof obj.state.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendKeyGetAdmin(obj.state.val,host,port); log('Send to GetAdmin - HotKey: '+ obj.state.val); } else {log('GetAdmin. Command not specified.');} }); /***************************************************************************************/ function sendCmdGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?cmd='+value }; log('Send to GetAdmin - ' + options.url); request(options, function (error, response, body) { log('Response code - '+response.statusCode); if (!error && response.statusCode == 200) { } }); } function sendKeyGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?key='+value }; log('Send to GetAdmin - ' + options.url); request(options, function (error, response, body) { log('Response code - '+response.statusCode); if (!error && response.statusCode == 200) { } }); } `
  • [gelöst] Blockly Problem mit MQTT-Adapter

    Verschoben
    38
    1
    0 Stimmen
    38 Beiträge
    5k Aufrufe
    M
    @RappiRN: Ich meine set object muss erlaubt sein. Enrico ` Ich habe nun setObject eingeschalten. Nun kommen auch Daten im MQTT-Logfiele an. Leider habe ich immer noch das Problem, das die Lampe nicht schalten. Mane 4819_kein_licht.jpg
  • [gelöst] ICS Datei von WebSeite lesen

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    392 Aufrufe
    S
    Super, das war der entscheidende Hinweis > 'User-Agent': ' Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', Vielen Dank…
  • Anfänger sucht ein paar Funktionen

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    A
    Hallo Zusammen, scheint wohl etwas aus der Norm zu sein. Mal anders gefragt, Gibt es einen Adapter der per UDP daten sendet? (Ich habe zumindest keinen gefunden der Namentlich darauf schließen läst) Oder geht sowas nur per Skript? Wenn nur per Skript, habt da jemand ein funktionierendes Beispiel? Geht es nur im Skript selbst, dass ich quasi sage wenn der Button true dann führe aus oder kann ich auch im Button im vsi sagen wenn Du true bist starte das skript und lass es einmal laufen? Und könnte ich auch vom Button Parameter mit an das Skript übergeben also quasi ein skript für mehrere Button und die eigentlichen zu sendenden Daten werden vom Button übergeben? Danke Gruß Jens
  • [Gelöst] "Skripte" taucht bei mir nicht auf ?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    388 Aufrufe
    G
    Super, danke !
  • Aktivierung innerhalb 30min prüfen

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    234 Aufrufe
    A
    würde einfach eine Variable erstellen und diese bei erster Ausführung auf True und gleichzeitig verzögert wieder aus um 30min. dann eine Abfrage in den oberen block rein, ist Variable 30min(BSP) unwahr dann teil im Block ausführen… da wird sich aber schätzungsweise das Problem ergeben das deine Maschine wahrscheinlich nach 30min nach letzter Nutzung ins Stand By wechselt. Heißt du müsstest auch abfragen wann der Letzte kaffee gemacht wurde einfach wieder über den gleiche weg. Evtl hat auch noch jemand ne einfachere Lösung, funzen müsste es aber so
  • Blockly, SendTo über MQTT

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    842 Aufrufe
    Niemand hat geantwortet
  • Blockly Bedingung Gerät xyz befindet sich im wlan

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    393 Aufrufe
    S
    Ok danke dann muss ich da noch mal schauen…
  • LED16 Anzeige - Alle überwachten Objekte in 1 Blockly Script??

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    706 Aufrufe
    4
    @rantanplan: @4-Real: Ich lasse jetzt mal dahingestellt, ob es wirklich schlimm oder nicht schlimm ist, 16 Trigger in einem Script zu haben. Ich habe mir aber angewöhnt, einfach auch schon aus übersichtlichen Gründen für jeden Trigger ein eigenes Script zu erstellen. So weiß ich schon auf dem ersten Blick welches Script WOFÜR ist ohne erst ein BlocklyScript nach dem passenden Eintrag zu suchen. ` Ob die 16 Trigger in einem Script oder auf 16 Scripte verteilt sind, ist ioBroker egal. 16 Trigger sind 16 Trigger. Aber wegen der Übersichtlichkeit (auch bei der Fehlersuche) muss ich 4-Real vollkommen recht geben. Grüße ` Okay danke für die Aufklärung, ich dachte irgendwie, dass es vielleicht auch mit der "Größe" eines Scriptes zu tun hat / haben kann.
  • [gelöst] Skript im Skript aufrufen - mit Parameter

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    paul53P
    @tööö: Klappt wunderbar! ` Dann markiere bitte das Thema als gelöst oder erledigt (im Betreff des ersten Beitrags ändern).
  • Hallo Zusammen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    235 Aufrufe
    wendy2702W
    Hallo Kannix, Willkommen im Forum. Zu Broadlink gibt es schon einige Beiträge im Forum: search.php?keywords=Broadlink&terms=all … bmit=Suche Denke auch zu Blockly wird sich was finden :D Wenn du dann konkrete Fragen hast solltest du einzelne Post machen zu den einzelnen Sachen mit aussage kräftigem Titel. Gruß und Viel Erfolg
  • [gelöst] Blockly: Temperatur in Variable schreiben

    Verschoben
    16
    1
    0 Stimmen
    16 Beiträge
    9k Aufrufe
    rantanplanR
    @Kuddel: Danke, jetzt geht es :-) ` Denke an das [gelöst]. Deinen ersten Beitrag aufrufen, ändern klicken, Betreff ändern.
  • Script nur in gewissen Zeitraum ausführen?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    821 Aufrufe
    paul53P
    @OstfrieseUnterwegs: Geht das so? Ich dachte wegen Tageswechsel… ` Mit reinen Uhrzeit-Strings funktioniert es auch so.
  • KM-Tronic WEB LAN Ethernet IP Eight channels Relay Controller

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    864 Aufrufe
    G
    Herzlichen Dank für eure Hilfe, (verschieben, u erste Anregungen) Bin grad im Urlaub und werd mich alsbald melden, um zu sagen wie es ausschaut Eisige Grüße von Texel
  • Szenen in Blockly

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    rantanplanR
    @Gerni: Umlaute entfernen kann es ja auch nicht sein, Küche ist nun mal Küche und nicht Kueche oder Fluege ;-) Und; die Szene "Gartenbeleuchtung" greift ja zB auch nicht. Wie gesagt, füge ich die Geräte einzeln ein geht alles. ` Hallo Auf Umlaute sollte man beim Programmieren möglichst verzichten. JavaScript kennt keine Umlaute. Deshalb siehst Du beim Export diese kryptischen Übersetzungen. Es ist also immer zusätzliche Programmierung notwendig, nur weil jemand unbedingt Küche und nicht Kueche schreiben will. :roll: Ich würde mich nicht darauf verlassen, dass sich, bei irgend einem Update, ein Bug in diese "Übersetzung" schleicht. Hast Du schon mal den Debug-Baustein gesehen? Damit kann man sehr schön den Ablauf eines Programms überprüfen. Grüße

369

Online

32.6k

Benutzer

82.3k

Themen

1.3m

Beiträge