Weiter zum Inhalt

Skripten / Logik

16.7k Themen 216.0k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    maxclaudiM
    @Murphy-0 sagte: @maxclaudi Habe dein zURLtool geladen und installiert. Die Freischaltung mit den von dir gesendeten Daten funzt perfekt. zURLtool funktioniert ! Vielen Dank für deine Arbeit !!! Hallo Murphy, vielen Dank für deine Rückmeldung und den erfolgreichen Testlauf. Genau so soll es sein: Eintragen, Freischalten und direkt loslegen! Viel Spaß beim Optimieren deines Scripts!
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    Murphy 0M
    @tourer4778 Das ist ganz einfach. Du addierst die Leistung deiner Wechselrichter als maxSolarPower. Dieser Wert wird dann für die Formel zur Berechnung genommen und du bekommst automatisch die Leistung die jeder deiner Wechselrichter haben muss. [image: 1786870575867-img_4130.jpeg] Diese Leistung übergibst du dann nacheinander an deine Wechselrichter. In meinem Blockly unten benutze ich noch einen Korrekturwert für die Leistung. Das liegt an der unterschiedlichen Ausrichtung der Panele und berücksichtigt die unterschiedlich Leistung der Wechselrichter. Der Multiplikator ist mit Pfeil markiert. [image: 1786870876025-img_4128.jpeg] Den Multiplikator brauche ich um die erzielte Leistung jedes Wechselrichters mit dem Bedarf abzugleichen. Meine Nulleinspeisung ist auf ca. -50 Watt ausgelegt. Akku wird nicht geladen. [image: 1786871273695-img_4132.jpeg] Akku wird geladen. Wegen Wolken reicht die Leistung gerade nicht für die gesamt benötigte Menge an Strom. [image: 1786871362148-img_4133.jpeg]
  • Hilfe für Skripterstellung mit Node-RED

    964 13k
    964 Themen
    13k Beiträge
    A
    @OliverIO Danke für die Analyse und der grundsätzlichen Bestätigung, dass es eigentlich richtig ist und auch funktionieren sollte. Unterdessen ist es so, dass ich den wiederholzykluss auf 20min gestellt habe und zwischen jeder Anfrage 1 Minute warte. Zusätzlich habe ich ja die udev-Regel entfernt und das Portweiterleiten mit den Proxmox eigenen Mitteln gemacht. Es läuft nun seit 25h so, und Fehler mit keinem String ist noch 2x aufgetreten, hat sich unterdessen aber sogar selber gefixt und läuft seither ohne erkennbar Fehlermeldungen durch. Weil es ja so merkwürdig reagiert hat, habe ich den Pylontechadapter nochmals installiert und die neue Schnittstelle eingerichtet. Nach sehr langem warten wurde der Adapter sogar grün und er hat tatsächlich die BMS Infos rausgelesen, aber die Zelleninfos kamm nicht. Ich habe zwar keine Ahnung wie das Pytes BMS Tool das wirklich macht, aber ich habe den Eindruck, dass der Abfragezyklus nicht mehr als 1x pro Minute gestartet werden darf. Das Pytes Tool bringt alle infis eigentlich recht schnell. Bei meinem 12V System mit den DALI ist es so beschrieben, dass man nur 1x pro Minute Abfragen, kann weil der Prozessor sonst seine Aufgabe nicht machen kann. Aktuell läuft es und ich beobachte das sehr intensiv, weil ich der Sache noch nicht ganz traue.
  • (beantwortet) über welchen Datenpunkt Adapter ein- und ausschalten?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    ruhr70R
    Danke Euch beiden! Funktioniert :-) on({id: 'javascript.2.Test' ,change:'ne'}, function (dp) { log(dp.state.val); var obj = getObject("system.adapter.hm-rpc.1"); obj.common.enabled = dp.state.val; setObject("system.adapter.hm-rpc.1", obj); });
  • Generischer Betriebsstundenzähler

    Verschoben
    17
    2
    0 Stimmen
    17 Beiträge
    3k Aufrufe
    L
    Hallo Bluefox, vielen Dank erstmal. Dann kann ich ja schon anfangen :) ich habe im Moment kein System zur Verfügung aber ich habe mir die Doku angesehen. Die Vorbereitungen zum Adapter habe ich verstanden, sollte kein Problem sein. Dann die Prinzipiellen Unterschiede wie channel und das lesen und schreiben von States wird schon gehen. Ich habe aber ein paar grundsätzliche Fragen: Dialog für die Parametrisierung wie funktioniert der Einstellungsdialog. Ich habe da ja sehr viele Parameter, die ich mit Funktionen verknüpfe. Gibt es auch die Möglichkeit Einstellungen mehrstufig (also über weiterführende Button) zu programmieren ? Ich glaube, dass es ansonsten nur zeilenweise geht ? Mischung von Event und schedule Ich habe die Möglichkeit im Skript die Eventsteuerung mit einem Schedule zu übersteuern. Da - wie ich es zumindest verstanden habe- der Modus je Adapter einzustellen funktioniert das dann nicht ? -Mobile Entwicklungsumgebung ich bin viel unterwegs und würde gerne in der Woche meine Abende nutzen. Ich habe zwar einen PC aber leider ohne ADMIN Rechte. Was würdest du empfehlen ? evt ein Raspi zum Mitnehmen ? Da ich kein SSH habe würde ich wohl vom PC nur den Monitor nutzen können via HDMI. Datenpunkte könnte ich über kleine Scripte selber füllen um z.B. Geräte zu simulieren. Oder hast du evt andere Vorschläge ? vG Looxer
  • History-Adapter: Wie an Werte kommen?

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    7k Aufrufe
    paul53P
    @Homoran: Ich fürchte diese Version läuft unter der Standardkonfiguration nicht unbedingt problemlos. ` Das kann ich für den Reiter "Zustände" im Admin-Adapter bestätigen, der die Zeitstempel nicht richtig aktualisiert, was sicherlich mit der Umstellung auf Millisekunden zu hat. Ich habe zum Funktionstest der Wertänderung von Datenpunkten vom Typ "Schalter" (boolean with states) im jeweiligen Reiter nur die Dateien "adminStates.js" und "adminObjects.js" ausgetauscht. Ich hoffe, dass die Übergabe aller nach Millisekunden geänderten Adapter (vor allem js-controller) an npmjs.org möglichst bald erfolgt. Die History-Einstellung von nur 1 Datenpunkt im RAM bewirkt, dass History häufige Logs verursacht, was ich insofern gelassen sehe, da ich die ioBroker-Logs (über Symlink) und die History auf einen 32 GB USB-Stick und nicht auf die SD-Card schreibe.
  • Frage: wie on() aus array anlegen?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    Jey CeeJ
    Ok danke für die info. Bei mir geht das nicht, aber ich hab seit meinem umzug auf einen Nuc probleme mit den daten vom rpc Adapter. Könnte dann damit zu tun haben. Gesendet von meinem Jolla mit Tapatalk
  • Nmp Module - wie kann ich diese beiden laden

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    T
    Danke erstmal, das bedeutet wohl ich bekomme das nicht zum laufen. :( Danke für die Hilfe, für Tipps bin ich weiterhin dankbar.
  • Solarwetter

    Verschoben
    18
    0 Stimmen
    18 Beiträge
    4k Aufrufe
    P
    Hab das Skript zum einem Adapter weitergebaut. Viel Spaß: http://forum.iobroker.net/viewtopic.php … 844#p25693 Gruß Pix
  • Hilfe beim Java script für eine Zeitleiste anzeige bzw ändern

    Verschoben
    7
    1
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    C
    Super!!! :D :D :D 1000 Danke euch allen! Man lernt echt nie aus & hab so viel da rum probiert :) Jetzt läuft alles so wie ich es wünsch :) Danke euch allen noch einmal! Schönen Abend euch noch :)
  • [gelöst] Script zum Lüften und zur Statusanzeige in vis

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    4k Aufrufe
    andreA
    @simpixo: Du benutzt in deinem Script 4 Drehgriffsensoren. Ich würde gern mehr nutzen können, wäre das Problemlos möglich? Oder muss im Script was angepasst werden? ` Ja, das geht sicher. Allerdings nicht "von Haus aus". Du musst einfach entsprechend weitere Datenpunkt-IDs anlegen und diese deklarieren und initialisieren: // Datenpunkt-IDs var idNEUlueften = "hm-rpc.0.LEQXXXXXXX.1.STATE"; // Weiterer Sensor // Variablendeklaration und Initialisierung bei Scriptstart var stateNEUlueften = getState(idNEUlueften).val; Anschließend musst du natürlich die Bedingungen der Funktion nach deinen Wünschen anpassen bzw. erweitern. Beispiel: // Funktion zum Setzen des Status bei Lüften OG function setStatus() { var stateDaily = getState(idDaily).val; if (stateDaily === true) { // Wenn og_daily = true if (stateBOlueften !== 0 && stateSZlueften !== 0 && stateK1lueften !== 0 && stateK2lueften !== 0 && stateNEUlueften !== 0) { // Wenn alle Fenster offen setState(idStatus, 1); // Es wird gerade gelüftet! } else if (stateBOlueften === 0 && stateSZlueften === 0 && stateK1lueften === 0 && stateK2lueften === 0 && stateNEUlueften === 0) { // Wenn alle Fenster geschlossen setState(idStatus, 3); // Heute bereits gelüftet! } else if (stateBOlueften !== 0 || stateSZlueften !== 0 || stateK1lueften !== 0 || stateK2lueften !== 0 || stateNEUlueften !== 0) { // Wenn mindestens ein Fenster offen setState(idStatus, 4); // Fenster gerade offen, kein echtes Lüften! } } else if (stateDaily === false) { // Wenn og_daily = false if (stateBOlueften !== 0 && stateSZlueften !== 0 && stateK1lueften !== 0 && stateK2lueften !== 0 && stateNEUlueften !== 0) { // Wenn alle Fenster offen setState(idStatus, 1); // Es wird gerade gelüftet! setState(idDaily, true); } else if (stateBOlueften !== 0 || stateSZlueften !== 0 || stateK1lueften !== 0 || stateK2lueften !== 0 || stateNEUlueften !== 0) { // Wenn mind. ein Fester offen setState(idStatus, 4); // Fenster gerade offen, kein echtes Lüften! } else if (stateOutTemp > stateSZTemp) { // Wenn Außentemperatur größer Innentemperatur setState(idStatus, 2); // Lüften nicht sinnvoll! } else { // Für alle anderen Fälle setState(idStatus, 0); // Heute noch nicht gelüftet! } } } Und zum Schluss dann am Besten noch auf den zusätzlichen Sensor triggern und die Funktion ausführen lassen: // Aufruf der Funktionen bei Änderung der Stati on(idNEUlueften, function(dp) { setTimeout(function(){ stateNEUlueften = dp.newState.val; setStatus(); }, 1000); }); MfG, André
  • Skript HD Speicherbelegung ioBroker auf Linux-Rechnern

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    950 Aufrufe
    ruhr70R
    So… ich habe jetzt ein paar Systemparameter von beiden Ubuntu VMs (1x ioBroker, 1x mySQL) in ioBroker eingebunden. U.a.: HD ioBroker Rechner (gesamt, verwendet, frei, …) HD mySQL Rechner, s.o. Speicher ioBroker Rechner Speicher mySQL Rechner Dateigröße iobroker gesamt und iobroker-data Dateigröße mySQL gesamt und mySQL ioBroker Datenbank Verfügbare Updates für beide Rechner [image: 327_iobroker_systeminfos.jpg] Ist in meiner Umgebung sehr speziell (2x Ubuntu, Datenbank und ioBroker getrennt) und war eine ziemliche Bastelei mit bescheidenen Linux-Kenntnissen. Falls Teile davon trotzdem für jemanden interessant ist, dann kann ich versuchen, den Teil zu beschreiben (Mount von Verzeichnissen mit autofs, cron, bashscript, Ausgabe der Abfragen in eine Datei, ioBroker Javascript Abfragen, …). Eine Nagios-Installation wäre wohl schneller gegangen ;-)
  • Zeitverzögerung zwischen STATES

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    766 Aufrufe
    S
    Okay so einfach war das [emoji79][emoji15][emoji23] das hätte ich auch selbst finden können wenn ich da rein geschaut hätte Asche über mein Haupt [emoji6] Danke Gesendet von meinem iPhone mit Tapatalk
  • Schalten 2 Stunden nach Sonnenuntergang

    Verschoben
    20
    0 Stimmen
    20 Beiträge
    5k Aufrufe
    P
    @Bluefox: Wir brauchen iobroker.holidays adapter. 8-) ` Is da :lol: :lol: http://forum.iobroker.net/viewtopic.php … 754#p24642
  • HM-RC-Key4-2 Abfrage

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    khgK
    Hallo pix, vielen herzlichen Dank für die Info. Mit dem Workaround kann man leben.
  • Interaktionen zwischen Skripten

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    860 Aufrufe
    T
    Hi, danke für den Tipp, klappt super! Viele Grüße Trident
  • Wo liegen die 'Original'-Scripts

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    paul53P
    @tgirard: Und im Backup sind sie dann schon, nehme ich an ` Ja, sie werden in der Datei "objects.json" gespeichert. @pix: …kopiere alle Skripte aus dem ioBroker Editor in meinen externen Editor bei Änderungen und speichere die Dateien separat ab. ` So halte ich es normalerweise auch.
  • Script best practise

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    T
    Danke wird gleich mal getestet…! Gesendet von iPad mit Tapatalk
  • Zwei-Punkt Regler (Hysterese)

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    T
    Danke euch für die Tipps! Werde es ausprobieren und berichten :)
  • Tasker TNES

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Frage - per Script "Adapter Informationen aktualisieren"?

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    3k Aufrufe
    ruhr70R
    @Bluefox: @ruhr70: @Homoran: Viel Glück, da gerät sogar google translate ins schleudern ;-) ` He he, umgekehrt wahrscheinlich auch ;-) ` Ich habe schon fast Schreck bekommen, als ich Antwort von ruhr70 auf russisch gesehen habe. :lol: Ist ein guter Punkt, Muss ich überlegen, wie ich das mache. Weil nämlich Update kann man aus der Konsole auch machen, und dass (besonders wenn direkt über npm) kann ich gar nicht detektieren. Aber ich denke es reicht aus, wenn ich über admin das aktuell halte. ` War das so schlimm? ;-) Ist jetzt nicht lebensnotwendig.Falls es eine Kleinigkeit gewesen wäre, hätte es einfach mit reinrutschen können. Wenn es geht prima. Wenn nicht, muss man halt einen Klick mehr machen ;-)
  • String nach Boolean

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    paul53P
    @blauholsten: Wenn du global z.B. eine function deklarierst function global(){ log('hallo Welt')} Kannst du diese von überall aufrufen. ` Wenn Du eine Funktion innerhalb eines globalen Skriptes (Skript in Gruppe "global") deklarierst, function meine_globale_Funktion(x, y) { mache was mit x und y } kannst Du diese Funktion von überall aufrufen.
  • Frage: RegExp in on()

    Verschoben
    28
    0 Stimmen
    28 Beiträge
    7k Aufrufe
    blauholstenB
    Hi, Danke deine Erklärungen, aber genau hier liegt meine Frage:… @Jey Cee: Was bei mir noch offen ist, ist in on() auf die Änderung zu reagieren das will einfach nicht klappen. `

420

Online

33.0k

Benutzer

83.6k

Themen

1.3m

Beiträge