Skip to content

Skripten / Logik

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

16.6k Themen 213.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    AsgothianA
    @bahnuhr sagte in [Gelöst] setState in "Binding": @PeZi sagte in [Gelöst] setState in "Binding": Sorry, da war ich mit meinem Post wohl etwas voreilig :) bist du sicher, dass dies funktioniert ? sieht nicht korrekt aus. Doch, passt schon. Der Name des Datenpunktes der gesetzt werden soll befindet sich im Datenpunkt 0_userdata.0.Visualisierung.Heizung.SollTemperatur Verwirrend ist das ein extra Satz () drin ist. So sollte es auch gehen: setState(getState('0_userdata.0.Visualisierung.Heizung.SollTemperatur').val,temperatur); A.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    L
    So z.B. [image: 1772955687932-3d03cef9-d594-4980-95c2-6db6fc14cb98-image.png] [image: 1772955747179-dafb859e-c2bc-4f3c-8711-8ee35240622b-image.png] [image: 1772955775228-85ccd0ce-75e6-4140-8ebb-2399564f5cfc-image.png]
  • 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
  • $-Selector mit "functions=" liefert zu viele Kanäle

    Verschoben
    9
    1
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    W
    Bei mir tritt das auch auf. Hast Du inzwischen eine Lösung gefunden? Mein Fall: Ich selektiere mit: $("state[state.id=*.LEVEL](functions='Licht')").each(function(id,i) { …alle Lichter. Es geht dabei ausschließlich um Homematik-Geräte Seit dem Letzten Update des HM-RPC Adapters auf 1.9.2 tritt das Problem bei allen alten (nicht IP) Dimmern auf: 2019-01-24 16:51:32.544 - info: javascript.0 script.js.common.Licht_An_Aus: LichtSchalten_ID:hm-rpc.2.JEQ0200834.1.LEVEL name:WZ-Decke-Dimmer:1.LEVEL parentDevicelId: hm-rpc.2.JEQ0200834 Gewerk: Licht Raum: Wohnzimmer 2019-01-24 16:51:32.546 - info: javascript.0 script.js.common.Licht_An_Aus: LichtSchalten_ID:hm-rpc.2.JEQ0200834.2.LEVEL name:HM-LC-Dim1TPBU-FM JEQ0200834:2.LEVEL parentDevicelId: hm-rpc.2.JEQ0200834 Gewerk: Licht Raum: Wohnzimmer 2019-01-24 16:51:32.549 - info: javascript.0 script.js.common.Licht_An_Aus: LichtSchalten_ID:hm-rpc.2.JEQ0200834.3.LEVEL name:HM-LC-Dim1TPBU-FM JEQ0200834:3.LEVEL parentDevicelId: hm-rpc.2.JEQ0200834 Gewerk: Licht Raum: Wohnzimmer hm-rpc.2.JEQ0200834.2.LEVEL und hm-rpc.2.JEQ0200834.3.LEVEL sind aber nicht "Licht" zugeordnet. Es werden aber auch Kanäle zurückgegeben die nicht dem Gewerk "Licht" zugeordnet sind. In der Admin tauchen die Kanäle nicht unter den Aufzählungen bei "licht" auf. Auch unter den "Objekten" in der Admin nicht. Ich habe das Gerät auch schon komplett gelöscht und wieder angelegt. Ohne Erfolg. Irgend welche Ideen?
  • [gelöst] Blockly und RAM

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    627 Aufrufe
    C
    Durch einiges herumprobieren habe ich herausbekommen, dass ich gar kein Ressourcenproblem habe. Das einige Dinge nicht funktionierten lag daran, dass man durchaus darauf achten muss "Aktualisiere ObjectID" und "Steuere ObjectID" korrekt zu benutzen. Wenn man das beachtet, dann funktioniert auch alles korrekt.
  • Sonoff T1 per Script und Button deaktivieren.

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    223 Aufrufe
    Niemand hat geantwortet
  • Blockly zählt zu schnell!

    Verschoben
    10
    1
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    K
    @crunchip: eine Frage hätte ich, 1.) wenn man so ein script laufen lässt, wie bekommt man das hin, das nicht das ganze log zugemüllt wird? 2.) wie bekomm ich das hin, das am Ende der Laufzeit ein Datenpunkt gesetzt wird, den ich z.b. in sql schreiben, um mir eine Statistik zu erstellen? Gruss ` Zu 1) du nutzt den Block "debug output" der soll das Log vollmüllen ;D Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
  • Verständnis parser Adapter und Script

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    428 Aufrufe
    F
    cool, danke!
  • Solarertrag berechnen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    841 Aufrufe
    B
    das sieht ja sehr vielversprechend aus. Danke für den Tip!! Habe den Adapter bereits installiert und bin am testen ;-)
  • Anderen Zustand unter Homekit und Alexa anzeigen

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    177 Aufrufe
    Niemand hat geantwortet
  • Textdatei in 3 dimensionales Array einlesen?

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    232 Aufrufe
    X
    Ich glaube du verwechselst etwas oder hast den Begriff "Dimension" im Zusammenhang mit Arrays noch nicht ganuz richtig verstanden. Bei einem dreidimensionalen Array wäre in jedem Datensatz im "obersten" Array ein Array und in jedem Datensatz darin wieder ein Array. Somit ergibt sich eine dreifache Verschachtelung. Dein Vorhaben sieht mir aber eher danach aus, dass du ein Array aus Objekten erstellen möchtest. Das wäre ein Array und darin sind je Eintrag mehrere Werte, die jeweils einem Schlüssen zugeordnet sind. Ein Beispiel mit deinen Daten in JSON Format geschrieben: [ {"key":1,"time":"10:00","value":"S"}, {"key":2,"time":"10:00","value":"S"}, {"key":3,"time":"10:00","value":"S"}, {"key":4,"time":"10:00","value":"S"}, {"key":5,"time":"12:00","value":"E"}, {"key":6,"time":"12:00","value":"E"}, {"key":7,"time":"22:00","value":"TN"}, ] Ob das sinnvoll ist kann nur beurteilt werden, wenn du sagst was du hinterher damit vorhast. Wenn du zum Beispiel wissen möchtest welcher Buchstabe zu einer bestimmten Zeit gehört würde ich die Daten anders strukturieren, um den Zugriff zu erleichtern. Um dir zu helfen aus deinen Rohdaten eine derartige Struktur zu machen müsstest du einen Auszug deinen Rohdaten (ohne irgendetwas zu ändern, sondern einfach copy-paste und einen Code-Tag drum) posten.
  • Abfrage Wiffi Pump

    Verschoben
    18
    0 Stimmen
    18 Beiträge
    2k Aufrufe
    F
    Hallo Jens Kannst du mir mal einen Screenshot von deinen Parser Einstellungen schicken? Gesendet von iPhone mit Tapatalk
  • 2 Werte Prüfen und Meldung geben - Blockly

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    660 Aufrufe
    L
    Ich denke du möchtest auch eine Info wen sich "Target_Temperatur" ändert. Dann solltest du den Trigger nehmen bei dem du mehr als eine Trigger Quelle einstellen kannst. [image: 1564_2019-01-22.png] Mit einem Klick auf das Zahnrad bekommst du einen zweiten Trigger.
  • Aqara Wandschalter

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    764 Aufrufe
    flendorianerF
    Für alle die es interessiert… > <block 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml" type="on" id="zLtYZR:2#{8O1oQt+r(" x="-337.08594512939464" y="-887"> <field name="OID">zigbee.0.00158d0002c41348.left_click</field> <field name="CONDITION">gt</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="toggle" id="(h~LZI_#Rt#z2:]orZ19"><mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.Wohnzimmer_Decke.control.power</field> <field name="WITH_DELAY">FALSE</field></block></statement></block> `
  • Lautstärke prüfen ggf ändern

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    245 Aufrufe
    M
    Hallo, probiere es so sollte gehen [image: 6114_bild01.jpg] Gruß Michael
  • [gelöst]Alter Wert auf vorherigen setzen bei mehreren Triggern

    Verschoben
    13
    1
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    DutchmanD
    Ehm, bei object ID den Wert das wird nicht gehen ändere das Mal nach object ;) Sent from my iPhone using Tapatalk
  • [Hilfe] Wechselschalter Skript mit Blockly für zwei Sonoffs

    Verschoben
    43
    1
    0 Stimmen
    43 Beiträge
    8k Aufrufe
    J
    Mal ne blöde Frage, warum macht Ihr das nicht über die Rules bei Tasmota, Dann braucht man überhaupt kein Script und alle Zustände der Schalter passen auch. Beispiel für ne Wechselschaltung: Rule1 on Power1#State=1 do websend [192.168.100.60:80,admin:joker] POWER1 ON endon on Power1#State=0 do websend [192.168.100.60:80,admin:joker] POWER1 OFF endon Das selbe dann im zweiten Schalter mit der IP des ersten und wenn mehrere Schalter vorhanden sind, einfach erweitern oder in ne zweite Rule packen. Das mit den Scripten läuft, aber ohne ist schöner und schneller ;)
  • Node red nodes updaten

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    R
    @mafe68: Bei mir macht kein Adapter damit Probleme und auch die Last ist zurück gegangen. ` Das ist super für dich. Ich wollte das hier nur nicht als allgemeine Empfehlung stehen haben. Andere haben vlt. Adapter im Einsatz, die (noch)nicht kompatibel sind. Was interessant wäre, wäre eine Aussage von dir, wie es sich damit beim Update von nodes innerhalb des node-red Adapters verhält. Das war ja die ursprüngliche Frage. Da hast du dich nicht zu geäußert.
  • Script Lüften läuft immer nur 1-2 Tage

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    636 Aufrufe
    M
    Hallo, nur zur Info läuft nun super. Gruß Markus
  • Fensterkontakt soll Pushnachricht liefern bei Abwesenheit

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    930 Aufrufe
    M
    Hallo, bin auch kein Profi aber du musst doch auch nachdem du geprüft hast ob du nicht da bis das script auch da fortsetzen, siehe roter Pfeil [image: 14084_sharedscreenshot.jpg] . und Trigger nach Trigger ist auch kein guter Plan sagte man mir. Der zweite kann ja kein Signal bekommen wenn der andere nichts gesendet hat. Gruß Markus
  • Wert, Json über MQTT

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    524 Aufrufe
    M
    Hallo paul53, hab zwar ne weile gebraucht um mich da rein zu fuchsen, aber habs hinbekommen. DANKE :D [image: 8590_iobroker.jpg]
  • Blockly: letzte x Zeichen eines Objekts

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    562 Aufrufe
    H
    Funktioniert, danke! :D
  • Frage zu Blockly - schalten

    Verschoben
    3
    2
    0 Stimmen
    3 Beiträge
    618 Aufrufe
    M
    Doch, gibt es. Habe ich selbst angelegt. @Marco78: Da das debuggen mit manuellem setzen des Wertes Frost nicht funktioniert, habe ich zum Testen den Dummy im Trigger eingesetzt. Ich habe keine Ahnung, ob das stoppen des Skriptes Frost nachher keinen Trigger mehr ausführen kann, aber die Debug-Meldung kam nicht im Log und somit gab es keinen Trigger. ` Haben den Datenpunkt momentan wieder auf Frost gestellt und den Code geändert. Den Trigger Frost und Kalt habe ich mit Feuerzeug und Eis getestet. Funktioniert wie es auch soll. [image: 11771_3.jpg] Momentan ist Frost = true und die Einschalttemperatur erreicht. Aber die Schleife läuft nicht durch. Außerdem hatten vorhin 2 von 8 CPU-Kerne 100%. Meiner Ansicht nach würde die Schleife, wenn sie läuft, immer sehr schnell durchlaufen. Und damit Last ohne Ende erzeugen. Ich habe schon überlegt ein Timeout von 2 Minuten am Anfang der Schleife zu setzen. Aber momentan läuft die Schleife nicht :( Und die Außentemperatur wird jede Minute neu geschrieben. Auf diese zu triggern, dache ich zumindest, würde zu viel Systemlast erzeugen, da fast jede Minute auch ein neuer Wert geschrieben wird. Ich hatte den Block auch schon mit sonst falls und sonst aufgebaut. Aber der Trigger kommt ja nur 1 X und damit läuft das nicht ständig durch. EDIT: Weiter überlegt, ich trigger auf der Temperatur, dann gibt es ein Ereignis, aber sollte die Temperatur, warum auch immer, konstant bleiben, dann heizt die Heizung munter bis auf 28°C (da schaltet sich sich von alleine aus) und das wäre zu teuer (Stromkosten)! Oder wäre es die Lösung, das Skript abhängig vom Zustand Frost ein und aus zu schalten und in einer Schleife, welche alle 2 Minuten durchläuft die Temperaturen abzufragen? Im Sommer wird das Skript nicht benötigt. Und meine Frau wird ungnädig, wenn es Nachts überraschender Weise gefroren hat und das Wasser gefroren ist und sie welches aus dem Haus holen muss. Dafür braucht man am Ende keine Automatisierung :(

447

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge