Weiter zum Inhalt

Skripten / Logik

16.6k Themen 214.3k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Themen
    49k Beiträge
    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 Themen
    80k Beiträge
    T
    Hallo Zusammen, wie müsste ein Blockly aussehen um den Wert des aktuellen Tages einzulesen (und als kWh abzuspeichern, influxdb und echart auszuwerten). HIer stehe ich kompeltt auf dem Schlauch. Danke [image: 1775393210681-92e779b4-0628-4a47-9d9c-0d72ac1d49df-image.jpeg]
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Themen
    13k Beiträge
    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 Stimmen
    5 Beiträge
    697 Aufrufe
    S
    Hi, vielen Dank! Funktioniert perfekt :)
  • Mehrere Fehlermeldungen Komma separiert ausgeben

    javascript
    2
    0 Stimmen
    2 Beiträge
    190 Aufrufe
    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 Stimmen
    3 Beiträge
    941 Aufrufe
    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

    Verschoben
    51
    0 Stimmen
    51 Beiträge
    3k Aufrufe
    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 Stimmen
    4 Beiträge
    602 Aufrufe
    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 Stimmen
    5 Beiträge
    397 Aufrufe
    A
    top! super nice
  • Zeitschaltuhr Mit CRON

    javascript
    3
    2
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    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 Stimmen
    7 Beiträge
    912 Aufrufe
    HomoranH
    @quinti sagte in blockly schaltet nicht: das wars, danke! Natürlich ;-)
  • Synchronisation Systemvariable Homematic

    blockly javascript
    3
    1
    0 Stimmen
    3 Beiträge
    756 Aufrufe
    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 Stimmen
    1 Beiträge
    359 Aufrufe
    Niemand hat geantwortet
  • Kombi aus compareTime() und einem Objekt Zeichenkette

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    584 Aufrufe
    ?
    @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

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    587 Aufrufe
    khgK
    funktioniert mit 4.1.16
  • GooglePlayMusic Link an Chromecast Audio senden

    javascript
    2
    0 Stimmen
    2 Beiträge
    370 Aufrufe
    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

    Verschoben
    184
    0 Stimmen
    184 Beiträge
    49k Aufrufe
    M
    @OstfrieseUnterwegs Mich würde mal interessieren wie du die Anwesendheitskontrolle vorgenommen hast Michael
  • AccuWeather API

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    4k Aufrufe
    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

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    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 Stimmen
    1 Beiträge
    134 Aufrufe
    Niemand hat geantwortet
  • Volumen änderung SONOS

    blockly
    2
    1
    0 Stimmen
    2 Beiträge
    289 Aufrufe
    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

    Verschoben
    34
    0 Stimmen
    34 Beiträge
    11k Aufrufe
    B
    @sigi234 [image: 1567514269089-json1.jpg] History ist auch Aktiv
  • Telegramm nur 1 mal Status senden

    blockly monitoring communication
    4
    0 Stimmen
    4 Beiträge
    863 Aufrufe
    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 !

359

Online

32.8k

Benutzer

82.6k

Themen

1.3m

Beiträge