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
    paul53P
    @LaBamba [sagte: den alten Zyklus des Ausschaltintervalls erst auslaufen zu lassen bevor der das neue On-Intervall in einem anderen Temperaturbereich beginnt. Besser, man macht die Ermittlung der Ein- und Ausschaltzeiten nicht mit dem Temperatur-Trigger, sondern zum Ende der Ausschaltzeit: [image: 1775391259479-blockly_temp.jpg]
  • 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
  • [gelöst] Datenpunkt zyklisch auslesen -> Binding

    blockly javascript
    5
    0 Votes
    5 Posts
    697 Views
    S
    Hi, vielen Dank! Funktioniert perfekt :)
  • Mehrere Fehlermeldungen Komma separiert ausgeben

    javascript
    2
    0 Votes
    2 Posts
    190 Views
    SBorgS
    Zum einen solltest du deine idKamera als Zahl definieren und nicht als String, also überall '' entfernen: zB. var idKamera = 6; In #16 definierst du dann ein Array, allerdings fangen Arrays nicht bei "1" an, sondern bei "0". Du vergibst bspw. für "Garage" die ID 1, dass entspricht aber in deinem Array dann "Strasse". kamera[0] = Garage kamera[1] = Strasse ... kamera[5] = keine Störung ...und dein Anfangs Problem bekommst du so nicht gelöst. Du wirst immer nur genau eine Kamera als Fehlermeldung erhalten, und zwar die mit der höchsten Nummer. Sollte also bspw. 1 +5 ausgefallen sein, wird dir nur die "5" angezeigt. Da würde es sich zB. anbieten die fehlerhaften IDs in ein separates Array zu schreiben (man könnte auch dein kamera-Array um eine Ebene erweitern). Das kann man dann mittels for abgrasen und deine Komma separierte Liste erstellen.
  • [gelöst] Was bedeutet der gelbe Status?

    blockly
    3
    0 Votes
    3 Posts
    940 Views
    S
    Aber das Script funktioniert soweit eigentlich. Wie bekomme ich raus ob es am Script liegt? Wenn man es stoppt und startet läuft es ja einmal durch und im ScriptEditor zeigt er unten ja dann die Probleme an, aber da kommt nichts. Deaktiviere ich das Script und schalte es wieder ein ist es auch erstmal wieder grün. Ok also hab die Alarmanlage aktiviert und ausgelöst irgendwo da wurde es gelb und es rattert ne Menge gelbe Warnmeldungen. Muss ich nochmal genau prüfen wann das ausgelöst wird. Scheint aber nichts dramatisches für mein Script, irgend einen Lampe findet er nicht. So Fehler gefunden, hatte da noch einen Timer Stop drin, aber der Timer existierte nicht mehr.
  • [GELÖST] Homepilot Umweltsensor mit Javascript auslesen

    Moved
    51
    0 Votes
    51 Posts
    3k Views
    M
    @slkschlumpf soweit ich aktuell weiß noch nicht ... aber ich frage mal eben jemanden ... Das Problem ist das es noch nicht genügend Leute gibt die Informationen bekommen haben ... Rademacher sagt zwar auf Youtube das die Schnittstelle extra überarbeitet wurde um das Zusammenspiel zu vereinfachen, auf der anderen Seite habe ich 'noch' keine Informationen dazu bekommen können ... Ich weiß das wenigstens einer an einem Adapter arbeitet. Dort habe ich gerade gefragt. Wenn ich was höre gebe ich Bescheid ... vg Marc
  • Serielle Schnittstelle

    communication
    4
    0 Votes
    4 Posts
    602 Views
    T
    @arteck Da hängt mein FME der Feuerwehr dran. Da ich mehrere Adressen drauf habe aber nur auf bestimmte mit Licht an , Tor auf etc. reagieren möchte kann ich den Relaisausgang der Ladestation nicht nutzen da er auf jede Alarmierung schaltet. Ich muss aber nicht bei jeder Alarmierung aufspringen sondern nur auf bestimmte deswegen die Auswertung des Code. Der FME hängt über ein Seriel/USB Adapter dran. Über ein Terminal (unter Windows) erfolgt folgende Ausgabe. Jede Zeile wie ich sie schreibe kommt so im Terminal. Zeile 1: Datum / Uhrzeit Zeile 2: Code Zeile 3: Information mit ; getrennt
  • Bedingung soll nur einmal ausgeben

    blockly
    5
    0 Votes
    5 Posts
    396 Views
    A
    top! super nice
  • Zeitschaltuhr Mit CRON

    javascript
    3
    2
    0 Votes
    3 Posts
    1k Views
    Homer.J.H
    @tobi466 Hi das müsste so ungefähr das sein was du suchst. Zeitschaltuhr.txt
  • blockly schaltet nicht

    javascript blockly
    7
    1
    0 Votes
    7 Posts
    912 Views
    HomoranH
    @quinti sagte in blockly schaltet nicht: das wars, danke! Natürlich ;-)
  • Synchronisation Systemvariable Homematic

    blockly javascript
    3
    1
    0 Votes
    3 Posts
    756 Views
    H
    Danke!! Das war's. Nur ne Kleinigkeit, aber entscheidend. Danke für die Lösung.
  • [Vorlage] Bewässerungsscript mit Zeitsteuerung

    javascript template
    1
    0 Votes
    1 Posts
    359 Views
    No one has replied
  • Kombi aus compareTime() und einem Objekt Zeichenkette

    Moved
    4
    0 Votes
    4 Posts
    584 Views
    ?
    @cash Auch wenn der Post schon relativ alt ist: Danke für die Info! Ich werde das Script jetzt mal umschreiben. Mit der Zeit lernt man ja die Tricks
  • Javascript Import funktioniert ncht

    Moved
    5
    0 Votes
    5 Posts
    587 Views
    khgK
    funktioniert mit 4.1.16
  • GooglePlayMusic Link an Chromecast Audio senden

    javascript
    2
    0 Votes
    2 Posts
    370 Views
    snadorS
    Wenn ich per App das Streaming aus Google Play starte und dann an den Chromecast Audio übergebe, kann ich im ioBroker Objekt (url2play) die URL sehen, die er spielt... Ist natürlich kein richtiger Link auf eine Audiodatei. Wenn ich den Inhalt kopiere und wieder in das Objekt schreiben (auch wenn ich zwischendurch was anderes gespielt habe), sagt mit der Chromecast, dass er den Link nicht spielen kann... Komisch. Jemand eine Idee? Danke!
  • Skriptsammlung für den neuen ALEXA2.0 Adapter

    Moved
    184
    0 Votes
    184 Posts
    49k Views
    M
    @OstfrieseUnterwegs Mich würde mal interessieren wie du die Anwesendheitskontrolle vorgenommen hast Michael
  • AccuWeather API

    Moved
    4
    0 Votes
    4 Posts
    4k Views
    Alex1808A
    Seit kurzem gibst ein iobroker-Adapter für AccuWeather API, erst kann nur noch vom Github installiert werden. ioBroker.accuweather Danke an algar42
  • Board Info Script für Raspi und Orange pi

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    dontobiD
    Ich nutze das im 1. Beitrag genannte Script. Auf meinem Pi3 lief alles ohne Problem. Ich habe aber jetzt einen Pi 4 und die Anzeige der Taktfrequenz ist "Null Mhz". Keine Ahnung warum. Vielleicht kann mir jemand da weiter helfen.
  • text2command und fhem

    communication
    1
    0 Votes
    1 Posts
    133 Views
    No one has replied
  • Volumen änderung SONOS

    blockly
    2
    1
    0 Votes
    2 Posts
    289 Views
    paul53P
    @cainam sagte: funktioniert nicht: So schnell kann niemand loslasssen, um die Schleife bei einer bestimmten Lautstärke zu beenden. Du musst ein Intervall verwenden und innerhalb des Intervalls den Button prüfen, um beim Loslassen das Intervall zu stoppen. Etwa so [image: 1567581607213-blockly_volume.jpg]
  • [GELOEST]Log Daten im VIS anzeigen

    Moved
    34
    0 Votes
    34 Posts
    11k Views
    B
    @sigi234 [image: 1567514269089-json1.jpg] History ist auch Aktiv
  • Telegramm nur 1 mal Status senden

    blockly monitoring communication
    4
    0 Votes
    4 Posts
    863 Views
    paul53P
    @tobi83 sagte: wie unterbinde ich damit mehrmalige Telegramm meldungen? Wenn verglichen wird: Wert >= Schwelle UND vorheriger Wert < Schwelle kann der Wert auch weiter steigen ohne dass Meldungen erfolgen, weil dann die zweite Bedingung nicht mehr erfüllt ist. Teste es !

560

Online

32.8k

Users

82.6k

Topics

1.3m

Posts