Skip to content

Skripten / Logik

16.6k Topics 214.3k Posts

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

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Topics
    49k Posts
    ofri2607O
    @ticaki Ja, das mit der Sinnhaftigkeit ist so eine Sache. Bei mir haben sich mittlerweile über 100 Skripte angesammelt und es kommt immer wieder mal noch was dazu. Und auch hier, ja, mir ist bewusst das 5 Instanzen vom Javascript-Adapter speichermäßig „teuer“ erkauft sind. Daher auch der eigene Pi als Slave. Performanceprobleme hatte ich dadurch bis dato noch keine, zumindest nicht bemerkt. Was für mich nicht sinnvoll war / ist, ist mehrfach verwendeten Code zu kopieren oder parallel in Skripten zu haben, das macht aus meiner Sicht irgendwann die Wartung oder Ausrollung von Erweiterungen fast unmöglich. Die Klassen und Module im großen Stil in global zu verpacken ist für mich auch keine sinnvolle Option. Auch wenn es vermutlich nicht soviel Performance kostet. Ich habe auch mehrere Funktionen die ich mehr oder wenige in jedem Skript in irgendeiner Art verwende, z.B. erweiterte Logging-Funktionen, die habe ich auch im global in zwei Closures zusammengefasst. Mir gefällt dabei aber nicht, das bei einer kleinen Änderung in einem globalen Skript alle Skripte in allen Instanzen neu starten und weiters auch nicht, dass ich da im Hauptskript irgendwas unsichtbar im Vorbau geschrieben habe (das ist aber eine persönliche Befindlichkeit). Aber als Beispiel, ich habe ein Modul mit Funktionen zu diversen Farbwertumrechnungen. Diese benötige ich in 7 von den etwas über 100 Skripten. Dafür jetzt diese in global überall „mitzuschleppen“ widerstrebt mir irgendwie. Aus diesem Grund ist für mich die Einbindung von Modulen und Klassen über require die sinnvollste Lösung. Vor allem weil ich alles an einem Platz im Javascript-Adapter habe, nicht mit externen Files herumhantieren muss, im Hauptskript immer genau sehe was ich über require eingebunden habe, die Skripte aus meiner Sicht besser strukturieren und aufteilen kann und auch die Sicherung mit allen Hauptskripten einfach mitläuft. (und ja, das bietet global im Wesentlichen auch) Aber wie geschrieben für mich. Ich denke es muss jeder für sich selbst die praktikabelste Lösung finden.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    Murphy 0M
    @Martin_1705 sagte: Danke, habe gefunden dass ich das Solarflow 800 Plus über setDeviceAutomationInOutLimit in den Objekten steuere. Sorry aber ich kann mit dem Solarflow 800 nicht wirklich helfen. Ich habe einen Hyper2000 ohne Solarmodule den ich rein AC seitig betreibe. Hier im Fred gibt es aber einiges an Beispielen als Blockly welche dir weiterhelfen solten. Noch besser hier mal schauen, da gehts um die neuen Geräte mit lokalem Betrieb und neuem Adapter: https://forum.iobroker.net/topic/69579/test-adapter-zendure-solarflow
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Topics
    13k Posts
    F
    Hallo ich habe ein Problem mit Nodered und Alexa Echo. Ich habe in Nodered die Wemo Emulation installiert und eine Wemo Steckdose emuliert um an einer Zigbeesteckdosenleiste einen Platz der Leiste zu schalten. "node-red-contrib-wemo-emulator" Das klappt auch wunderbar leider nicht länger als ein zwei Tage. Wenn ich dann den Echo der mit der emulierten Steckdose verbunden ist neu starte geht es wieder. Leider ist das sehr nervig. Hat schon mal jemand gehabt? Durch die Forumssuche habe ich leider nicht gefunden. Gruss Achim
  • Variablen anlegen und verwalten

    Moved
    15
    0 Votes
    15 Posts
    4k Views
    paul53P
    @Franklin sagte: wenn ich mir das Javascript im Blockly anzeigen lasse sehe ich am Anfang immer nur die Definition der zuerst angelegten Variablen. Beim Umschalten in die Javascript-Ansicht werden nicht verwendete Variablen gelöscht. Variablen, die in das Editor-Fenster gezogen wurden, bleiben erhalten.
  • [gelöst] Dateigröße von ls -l ermitteln

    javascript
    14
    0 Votes
    14 Posts
    1k Views
    R
    Ihr seit spitze :D
  • gelöst: Script an bestimmter Zeit ausführen

    javascript
    12
    0 Votes
    12 Posts
    2k Views
    R
    @Jan1 done.
  • Durchschnitts Temperatur

    monitoring javascript blockly
    6
    0 Votes
    6 Posts
    1k Views
    G
    @el_malto Es funktioniert, genauso wie ich es haben wollte. Vielen Dank für deine Hilfe :)
  • Script - Messwert dämpfen

    javascript blockly template
    1
    1
    1 Votes
    1 Posts
    494 Views
    No one has replied
  • Zoneminder Port überwachen

    javascript
    3
    0 Votes
    3 Posts
    353 Views
    MeistertrM
    https://forum.iobroker.net/topic/25315/aufruf-zoneminder-0-2-0-testen
  • Timeout variabel in Blockly [gelöst]

    Moved
    6
    1
    0 Votes
    6 Posts
    3k Views
    paul53P
    @aleks-83 sagte: Das Thema kann nicht mehr gefunden werden. Link oder Variante mit Count down: [image: 1569330919322-blockly_temp.jpg]
  • 0 Votes
    10 Posts
    2k Views
    A
    Zwar schon älter aber ich gebe trotzdem mal ne Hilfestellung. @Gerni Du solltest deinen Trigger auch ändern auf: Trigger, falls Objekt wurde geändert. Anschließend eine If then Abfrage machen. @Gerni und @Jeek : Ihr könntet um solche direkten Doppelnachrichten zu vermeiden natürlich eine Variable setzen zum kurzzeitigen Blockieren/Entprellen der Nachrichten. Ungefähr so: [image: 1569314946078-d91fc826-e0f8-40ef-91ec-25610aadff10-image.png]
  • Schaltzustände im VIS über Status anzeigen

    node-red blockly monitoring
    3
    0 Votes
    3 Posts
    562 Views
    D
    Hallo Sigi, Danke! Das mit der "Sichtbarkeit" habe ich auch schon versucht, doch dann ist das Symbol ja nicht da solange nicht 'true' eintritt. Somit lässt sich das Objekt auch nicht schalten. Wie bei dir mit einem extra "Schalter" geht das natürlich. Ich würde mir vorstellen in einem Widget eine Objekt-ID einfügen zu können die allein für den Zustand des Widget verantwortlich ist. Was macht eigentlich die "Signal-ID"? Damit habe ich zwar schon rum gespielt, jedoch den Sinn noch nicht erkannt. Habe ich einen Denkfehler?
  • 0 Votes
    5 Posts
    1k Views
    M
    Hi, ich habe es jetzt endlich hinbekommen. Ich trage die ID von einem Sensor manuell in einen Datenpunkt ein und vergleiche den dann fortlaufend mit allen ID's die der Sonoff Adapter zurückmeldet. Falls der Wert gleich ist, nimm den entsprechenden Tempwert und schreibe den an einen weiteren Datenpunkt. Vielleicht etwas holprig aber es funktioniert Grüße Monsterkiller var j, zaehler_var, temp_var; for (j = 1; j <= 5; j++) { zaehler_var = ['sonoff.0.DVES_5A8310.DS18B20-',('' + j),'_Id'].join(''); temp_var = ['sonoff.0.DVES_5A8310.DS18B20-',('' + j),'_Temperature'].join(''); if (getState(zaehler_var).val == getState("ID auswählen").val) { setState("Object ID", getState(temp_var).val); } } [image: 1569220283427-sonoff_loesung.png]
  • [gelöst]Fehler bei subscribe(channel:"…

    Moved
    106
    0 Votes
    106 Posts
    22k Views
    F
    HI all, ich bekomme das Script irgendwie nicht ans laufen. Ich habe das Gewerk Fenster erstellt. Ich habe allen Fenster Kontakten im Namen das TFK vorrangestellt. Bsp: TFK Wohnzimmer. Das Script habe ich eins zu eins kopiert un gestartet. Die Variabeln wurden korrekt vom Script erstellt. Leider bleibt zählen_Fenster.anzahlFenster bei 0. Irgendwie erkennt er die Kontakte nicht. Habe ich irgendetwas vergessen? PS: Java Adapter habe ich auch neu gestartet
  • Zeitplan funktioniert nicht

    blockly
    5
    1
    0 Votes
    5 Posts
    981 Views
    P
    @paul53 danke trotzdem
  • *gelöst* Timer "Sensor zuletzt gesehn vor..."

    blockly
    1
    2
    0 Votes
    1 Posts
    190 Views
    No one has replied
  • Zigbee-Adapter: Fragen zum Verhalten

    communication
    4
    2
    0 Votes
    4 Posts
    454 Views
    AsgothianA
    @Mic Wie gesagt - das Netz organisiert sich selber, und so lange wie die Endgeräte mit dem Koordinator kommunizieren können tun sie das auch. Das die Router alle direkt am Koordinator und nicht aneinander hängen ist also kein Problem. A.
  • [Erledigt] Umwandeln von Dezimalwert in Hexadezimal

    blockly javascript
    2
    1
    0 Votes
    2 Posts
    1k Views
    padrinoP
    Hier https://www.mediaevent.de/javascript/umrechnen.html steht Die Umrechnung von Dezimal zu Hexadezimal erfolgt mit var myHex = myNum.toString(16); Also, das in eine Funktion in Blockly packen, würde ich als Laie sagen. :)
  • Bei Alarm Video aufnehmen

    blockly security
    4
    0 Votes
    4 Posts
    904 Views
    E
    Du musst halt gucken ob deine Software über http oder sonst was gesteuert werden kann. Ich benutze iSpy und da kann man die Software über http steuern und so alles mögliche umsetzen. Unter "Available commands" sind die Befehle zum steuern. https://www.ispyconnect.com/userguide-http.aspx
  • Keine "Telegram" Aktion in Blockly

    Moved
    5
    0 Votes
    5 Posts
    1k Views
    JebaJ
    @kubu War bei mir auch so. Hört sich vielleicht doof an, aber du musst den cloud Adapter installieren. Nur installieren, aber nicht laufen lassen. So hat es bei mir funktioniert
  • Parser stoppen und starten

    javascript
    1
    0 Votes
    1 Posts
    152 Views
    No one has replied
  • Zeitplan funktioniert nicht mehr?

    blockly
    47
    1
    0 Votes
    47 Posts
    7k Views
    J
    @puckthefly War mein Einstieg in Linux und hat mir sehr geholfen. Deshslb poste ich den Link hier im Forum auch oft. Ist erstens die offizelle Seite und zweitens für Einsteiger sehr gut erklärt und immer aktuell.
  • [Frage] JSON format umwandeln

    Moved
    8
    0 Votes
    8 Posts
    4k Views
    paul53P
    @ernesto sagte: Muss man das createState(...) immer aufrufen, auch wenn der State schon mal angelegt wurde? Nein, das sollte man auch nicht innerhalb der Callback-Funktion eines Triggers machen.

580

Online

32.7k

Users

82.6k

Topics

1.3m

Posts