NEWS
Bibliothek Scripte und Lösungen
-
Hallo zusammen,
ich habe jetzt mal auf der iobroker.net etwas umsortiert.
Wir haben jetzt auf der obersten Ebene einen Scripte Reiter. Darunter die eine Übersicht über die gesammelten Scripte.
Jetzt ist noch die Frage ob wir nur den Link zum Forum zur Verfügung stellen oder auch eine Version des Scripts veröffentlichen.
Ich denke für den Profi ist der Link ins Forum ganz okay.
Für den Anfänger ist es bestimmt einfacher das Script direkt zu kopieren und nicht im Forum erst die richtige Version zu finden.
Wie sollen wir es am besten machen?
Wer kann die wichtigsten Scripte / Links einmal zusammentragen ?
Gruß
mctom
@ looxer01: Ich glaube die Anpassung auf der Seite meintest du auch? Sorry, dass ich mich nicht gemeldet hatte. Ich war leider ein paar Tage unplanmäßig offline.
-
Hi mctom,
ich würde es so machen wie ja auch schon mehrfach vorgeschlagen. Die letzte Originalversion sollte immer im ersten Post einer Skriptvorstellung enthalten sein. Damit braucht niemand einen Post komplett durchzulesen.
Ich kann morgen mal eine Liste zusammenstellen und dir per PN schicken. Die wird nicht komplett sein aber ein Anfang. Dann kann jeder ergänzen.
Wäre das ok ?
vG Looxer
-
Hi,
Danke für deine Rückmeldung ja das passt so für mich.
Ich schick dir gleich noch per PN meine Mailadresse, dann kannst du es dort hinsenden. So kann ich es dann besser verarbeiten.
Gruß
Michael
-
Einige Links zu Scriptbeispielen:
http://forum.iobroker.net/viewtopic.php?f=20&t=2437&p=21476#p21476
http://forum.iobroker.net/viewtopic.php?f=20&t=2437&p=21502#p21502
http://forum.iobroker.net/viewtopic.php?f=21&t=1341&p=11205#p11205
http://forum.iobroker.net/viewtopic.php?f=21&t=1290&p=10576#p10576
Raumlüftung:
!
// Raumlüftung ! // Raumkurzname am Anfang des Datenpunktnamen und als JS-Gruppenname var raum = name.split(".")[2]; ! var tiid = getIdByName(raum + ".Temperatur"); var taid = getIdByName("Aussen.Temperatur"); var xiid = getIdByName(raum + ".Feuchtegehalt"); var xaid = getIdByName("Aussen.Feuchtegehalt"); var lid = getIdByName(raum + ".Lueften"); ! var ti = getState(tiid).val; // Raumtemperatur in °C var ta = getState(taid).val; // Aussentemperatur in °C var xi = getState(xiid).val; // Raumfeuchtegehalt in g/kg var xa = getState(xaid).val; // Aussenfeuchtegehalt in g/kg ! // Lüftung steuern mit 0,3 g/kg und 0,5 K Hysterese function lueften() { var timin = 21.5; // minimale Raumtemperatur if (xa <= (xi - 0.4) && ta <= (ti - 0.6) && ti >= (timin + 0.5)) setState(lid, true); else if (xa >= (xi - 0.1) || ta >= (ti - 0.1) || ti <= timin) setState(lid, false); } /* Variante für Keller function lueften() { var timin = 10.0; // minimale Kellertemperatur var timax = 20.0; // maximale Kellertemperatur if (xa <= (xi - 0.4) && ti <= (timax - 0.5) && ti >= (timin + 0.5)) setState(lid, true); else if (xa >= (xi - 0.1) || ti >= timax || ti <= timin) setState(lid, false); } */ ! lueften(); // Script start ! on(xiid, function (dp) { xi = dp.state.val; lueften(); }); ! on(xaid, function (dp) { xa = dp.state.val; lueften(); }); ! on(tiid, function (dp) { ti = dp.state.val; lueften(); }); ! on(taid, function (dp) { ta = dp.state.val; lueften(); }); !
-
Hi,
wie versprochen bin ich mal durch das Unterforum der Skripte gegangen und habe alles was ich meine was in die Sammlung gehört beschrieben und verlinkt. Im Moment noch im Excel Format.
Ich bin mit Sicherheit nicht komplett und vielleicht soll auch das eine oder andere geändert werden.
Bitte teilt mir eure Änderungswünsche (mit ID) mit bzw gebt mir auch die Links von denen ihr glaubt, dass sie mit aufgenommen werden sollen
Die Links von Paul have ich bereits verarbeitet. Die alte Liste von Rainer ist leider nicht mehr verlinkt
@Rainer: wäre klasse, wenn du nochmal abgleichen könntest.
vG Looxer
… attachment hier entfernt und im neuen Post hinzugefügt
edit: ich habe noch die HUE Szenen von ruhr70 hinzugefügt. War mir irgendwie durchgegangen
...da fehlt sicher noch mehr
-
edit: ich habe noch die HUE Szenen von ruhr70 hinzugefügt. War mir irgendwie durchgegangen
…da fehlt sicher noch mehr `
Hier noch ein Script: http://forum.iobroker.com/viewtopic.php … afb#p21540
Gruß Eisbaeeer
-
letzte Version der Liste.
Attachment gelöscht, neue Version gepostet
-
letzte Version der Liste.
filename="ioBroker-Skriptsammlung.xlsx" index="0">~~ `Super Zusammenstellung!
Habe schon ein paar Skripte gefunden, die ich nutzen werde
-
letzte Version der Liste.
filename="ioBroker-Skriptsammlung.xlsx" index="0">~~ `
Klasse Arbeit, danke!Gruß,
Pix
-
Ich werde auch eine Kopie hier halten:
-
Hi,
aktueller Stand
-
die bisherigen Rückmeldungen sind eingebaut.
-
die liste nochmal formatseitig überarbeitet
-
mit mctom stehe ich in Kontakt, um die Liste in iobroker.net einzuarbeiten
ich vermute, dass Änderungsanfragen bei mctom anzubringen sind.
@mctom: ist das korrekt ?
vG Looxer
anbei der finale Stand:
-
-
Danke allen fleißigen Helferlein.
Ich werde mich mit zum Wochenende mit mctom zusammensetzen und mal sehen, was ich noch wieder mithelfen kann an der Website.
Gruß
Rainer
-
danke dir Rainer,
Mir war nicht klar wer was wie macht.
Bei euch beiden ist es in guten Händen
vG Looxer
-
-
Ich habe jetzt mal die ersten Seiten mit Skripten auf die Website gestellt.
-Menü Skripte- (Dort gibt es noch keine Untermenüs)
Seht euch die mal bitte an, ob da alle notwendigen und gewünschten Informationen drin sind - Verbesserungsvorschläge immer willkommen
Außerdem habe ich hier mal die alte Liste angehängt, ebenfalls zur Überprüfung, was davon noch in looxers Liste fehlt und mit auf die Website soll.
Gruß
-
Hallo nochmal,
ich habe eben auf der http://www.iobroker.net/?page_id=2786&lang=de mit der heißen Nadel ein paar Seiten angelegt.
In der Liste von looxer01 sind einige "Skripte" enthalten, die anscheinend aus mehreren Teilen bestehen.
Hier weiß ich nicht wie ich diese anlegen soll, bzw. was für die Gesamtfunktion notwendig ist, da ich immer noch kein js spreche
Auch sind da teilweise anscheinend inhaltlich gleiche Skripte mehrfach angegeben, die jedoch (zumindest in der Skriptlänge) deutliche Unterschiede haben.
Auch weiß ich nicht, ob ide Links wirklich zu den funktioniertenden Versionen zeigen. jedenfalls habe ich dort die Skripte entnommen.
Weiterhin möchte ich keinem Entwickler das falsche Skript unterjubeln, resp. den wahren Urheber unterschlagen. Mir ist nicht immer klar, wer wirklich dahinter steckt.
Für jede Unterstützung bin ich dankbar
Gruß
Rainer
-
Das Script http://forum.iobroker.de/viewtopic.php?f=21&t=914&p=23399&sid=cf748478547f6feb9e8667ec1f50592a&sid=cf748478547f6feb9e8667ec1f50592a#p23399 habe ich um ein "." vor "UNREACH" erweitert, damit "STICKY_UNREACH" nicht mit erfasst wrird. Ausserdem habe ich es um die Abfrage ergänzt, ob "dp.common.name" existiert; falls nicht, wird stattdessen die ID an das Log file ausgegeben.
Bitte in der Doku korrigieren.
Das Sonnenstandsskript stammt ursprünglich von mir und wurde von pix modifiziert.
-
Hallo paul,
DANKE, habe es (hoffentlich richtig) geändert
Gruß
Rainer
-
habe es (hoffentlich richtig) geändert `
Ja.Anbei noch ein PI-Regler-Skript für Raumheizung, in dem das npm-Modul "pi-controller" verwendet wird:
// PI-Regler Raumheizung // Datenpunkt-IDs eintragen ! const xid = '...'; // Istwert const wid = '...'; // Sollwert const yid = '...'; // Heizventil // P-Band in K, Nachstellzeit in s const Xp = 4; const Tn = 600; var x = getState(xid).val; // Istwert in °C var w = getState(wid).val; // Sollwert in °C const PI = require('pi-controller'); // als zusätzliches NPM-Modul in JS-Config eintragen const pi = new PI(Xp, Tn); pi.setOutputMax(100); // default: OutputMax = 100 function control() { var y = pi.Control(w - x); // Stellsignal setState(yid, y); } control(); // Script start on(xid, function(dp) { x = dp.state.val; control(); }); on(wid, function(dp) { w = dp.state.val; control(); }); if (Tn) setInterval(control, 250 * Tn );
-