NEWS
Test Adapter pid (pid-Regler) V1.0.x
-
Aktuelle Test Version 1.0.0 Veröffentlichungsdatum 11.3.2024 Github Link https://github.com/iobroker-community-adapters/ioBroker.pid Adapter Beschreibung, Changelog
[INFO]
Die aus der ersten Diskussionrunde resultierenden Änderungen wurden umgesetzt.
Zur aktuellen Diskussion gehts hier: https://forum.iobroker.net/topic/64250/test-neuer-adapter-pid-pid-regler-v0-0-x/206
Dieser Adapter stellt einen konfigurierbaren pid Regler zur Verfügung.
Je Instanz können beliebig viele Regler konfiguriert werden. Im Einstellungsmenu stehen die wichtigsten Reglerparamater (P, I, D Anteil, Zykluszeit sowie Minimum und Maximumwerte zur Verfügung. Aktuelle Werte werden via Zuständen übergeben.
Zusätzlich kann der Regler angehalten (Zustand 'run ') und resetted (Zustand 'rst') werden.
Weiters kann der Regler via manuellem Eingabewert (Zustände 'man' und 'man_inp') übersteuert werden, falls dies in einer Anwendung benötigt wird.
Eine Beschreibung findet sich hier:
https://github.com/iobroker-community-adapters/ioBroker.pid/blob/master/docs/de/pid_de.md
https://github.com/iobroker-community-adapters/ioBroker.pid/blob/master/docs/en/pid.md
Changelog
1.0.0
- BREAKING: Adapter benötigt nun node.js 18 oder neuer
- BREAKING: Adapter erfordert jetzt js-controller 5.x.x und admin 6.x.x oder neuer
- Offset war nicht funktionsfähig. Das Problem wurde behoben. (#105)
- Die falsche Fehlermeldung, wenn keine Controller fehlerhaft sind, wurde entfernt. (#68)
- State-Roles wurden überprüft und angepasst. (#88)
- Abhängigkeiten wurden aktualisiert.",
0.0.7
- geändert: Die Zykluszeit muss nun mindestens 100ms betragen
- geändert: Neuberechnungen werden nur mehr durch den Taktgeber gesteuert, es werden keine zusätzlichen Updates durchgeführt (#62)
- geändert: Abhängigkeiten wurden aktualisiert
0.0.6
- behoben: Die fehlerhafte Berechnung bei Erreichen der max/min Limits wurde korrigiert
0.0.5
- Adapter ist nun via npm verfügbar
0.0.4
- Zustand last_upd_str wurde entfernt
- Diverse Roles wurden angepasst
0.0.3.alpha.0
- neu: Eine optionale Ordnerstruktur für Zustände wurde implementiert.
- geändert: Timer wird bei Neustart nach Pausierung nun resetted.
- geändert: Werte für act und set werden nun gespeichert und beim Starten des Adapters verwendet
- geändert: Zustandsänderungen mit ack=true werden gelogged
- geändert: Falsche Updates beim Schreiben des act Zustands werden nun verhindert
- geändert: Funktionsfehler des Invert-Flags wurden behoben
- geändert: Die Fehleranzeige beim Erreichen der Limits wurde entfernt.
- geändert: q-Flag-Handling wurde korrigiert
- geändert: Unerwartetes Verhalten des sup-Parameters wurde behoben
- geändert: Der Eingabe-Zustand 'run' wurde auf 'hold' umbenannt."
0.0.2.alpha.2
- geändert: die Werte von kp, xp und sup werden nun auch überprüft falls diese mittels Zuständen verändert werden
- geändert: Werte von min und max werden nun auch überprüftfalls diese mittels Zuständen verändert werden
- geändert: Aktivierung von man atzualisiert nun y mit aktuellem Wert von man_inp
- geändert: min Wert wird nun beim Neustart der Instanz nicht neu initialisiert
- geändert: Umrechnung zwischen kp und xp wurde an mehreren Stellen korrigiert
- geändert: kp oder xp werden jetzt gemäß Modeauswahl schreibgeschützt"
0.0.2-alpha.1
- (McM19157) zweite Testversion nach Diskussionsrunde
zur aktuellen Diskussion gehts hier: https://forum.iobroker.net/topic/64250/test-neuer-adapter-pid-pid-regler-v0-0-1-alpha-x/63
0.0.1-alpha.x
(McM19157) erste TestversionBitte Probleme / Fragen hier im Forum deponieren oder auch als Issues direkt im Adapter repository anlegen:
https://github.com/iobroker-community-adapters/ioBroker.envertech-pv/issuesDanke für eure Zeit beim Testen und für jedes Feedback / Kritik / Anregung.
McM57
-
FAQ
reserved
-
@mcm57 bedeutet das für Änderungen von P, I oder D muss ich in die Einstellung und der Adapter startet neu?
Werde ihn später testen, war nur so der erste Eindruck vom Lesen. -
@ben1983
Derzeit ja.Wenn es sinnvoll erscheint bzw der Bedarf besteht kann ich diese Einstellungen auch via States ermöglichen. Prinzipiell war de Ansatz die wichtigen Werte auch für wenig geeübte User mal einstellbar zu machen. Ich warte da aber mal auf Feedback.
Insbesondere stellt sich die Frage ob man die Einstellung via Config Maske ganz entfernt und nur eine Einstellung via States ermöglicht oder beides. Wobei bei "Beides" noch eine Lösung gefunden werden muss wann der Adapter dann die Warte von der GUI Maske übernimmt.
-
@mcm57 Der Einwand von Ben geht in die selbe Richtung wie mein letzte Github-Eintrag ("Rumprobieren"). Wichtig wäre auch, LL und LH als State dynamisch beschreibbar zu machen. Vielleicht wäre es sinnvoll, im Instanz-Konfigurations-Menü nur die Zykluszeit für jede Reglerinstanz und den Namen, wie er dann in den Objekten als Ordner auftaucht, anzugeben und die Reglerparamter sind alle States im Objektordner.
-
Damit andere auch wissen auf was sich "Letzter Github Beitrag" bezieht:
https://github.com/iobroker-community-adapters/ioBroker.pid/issues/6Prinzipiell orte ich mal einen starken Wunsch die (alle?) Parameter via States einstellbar zu machen. Ich nehms mal auf - möchte aber ein/zwei Tage warten ob noch andere ev. gegenläufige Wünsche kommen.
Hinweis: Ich sammle mal die Wünsche in diesem Issue als Taskliste. Da kann jeder nachsehen, was der Status ist.
https://github.com/iobroker-community-adapters/ioBroker.pid/issues/18 -
Ansatz zur Einstellung via States:
In der Config Maske Flag "Use states for Config"
Ist dieses gesetzt, gibts keine Config für P,I,D, ... in der Maske und die States sind schreibbar bzw. werden verwendet. Ist es nicht gesetzt, so gelten die Eingaben in der Maske.Damit können auch User die via Blockly / Rules arbeiten den Regler benutzen ohne sich mit übermäßgen setStattes die sie vielleicht gar nicht brauchen zu quälen. Und wer VIS / JS-Script verwendet um die Warte zu setzeb kann das auch.
Einwände?
-
@mcm57 Ich wollte mich gerade mal ein wenig einlesen in die Doku, bekomme aber nur "The 'iobroker-community-adapters/ioBroker.pid' repository doesn't contain the 'docs/en/envertech.md' path in 'master'. "
Meine persönliche Meinung: beim 'last_upd_str' gefällt mir das Datum nicht besonders - oder liegt das an meinen Einstellungen (ich hab Deutsch)?
-
@mcm57 eine ganz große Bitte für die Doku:
This adapter provides the functionality of a pid controller. Within one instance there could be more than one controller configured. The adpter supports configuring the paramaters (P, I, D components) and the cycle time used for calculation.
Was um Alles in der Welt ist ein PID Regler?
auch @Paul53 schreibt dauernd davon.Könnteyt du dazu einen Zweizeiler in die Doku nehmen?
-
@rene55
Also die Docu liegt bei mir auf github:
https://github.com/iobroker-community-adapters/ioBroker.pid/blob/master/docs/en/pid.mdWo hast du den Link her der nicht geht?
Schon gefunden. S... copy & Paste des Dokugerüsts
Soory, sollte gefixed sein
-
@mcm57 Ich hatte auf Github unter
english documentation is available here
geklickt.Nachtrag: Yes, gefixt.
-
@homoran sagte: Was um Alles in der Welt ist ein PID Regler?
-
@homoran
Danke fürs Feedback.
Hab zwar in der docu auf wikipedia verlinkt, werd aber ein paar Worte direkt ins Readme schreiben damit dem User klar ist um was es prinzipiell mal geht. -
@paul53 said in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@homoran sagte: Was um Alles in der Welt ist ein PID Regler?
Und bevor die Farge kommt - ja deutsche Doku mach ich auch. Aber erst wenn klar ist ob / was sich ändert und die englische dem IST STand entspricht. Wenn wer vorher Fragen hat - es muss ja nicht jeder english können - bitte melden !
-
@mcm57 Ich versuche gerade mal, was mit dem Adapter zu machen. Hab als 'Regler-ID' die Produktion meines Solarkraftwerks eingegeben. Dann dachte ich, dass hier im Adapter unter 'akt' der gerade aktuelle Wert stehen müsste und dann sollte ja irgendwo auch der berechnete Wert mit den Faktoren aus PID zu finden sein. Bei mir ist alles 0. Wo hab ich den Denkfehler?
-
@homoran
Hab mal eine Kurzbeschreibung ins Readme eingefügt. Wenn du Zeit / Lust hast schaus dir an.
Link zu Wikipedia ist inder docu (docs/en/pid.md)Eine Kopie von wikipedia im Readme ist sicher übertrieben. Aber ich glaube die Ergänzung informiert den User mal ausreichend damit er entscheiden kann ob er sich weiter hinein vertieft oder das Ding für ihne uninteressant ist.
-
@rene55
Der Adapter ist stand alone. Regler ID dient nur dazu die Namen der States zu definieren. Hier kannst du z.B.1 oder auch einen (kurzen) Namen eintragenFür die Benutzung musst du (neben den Paramatern) den Sollwert in den State 'set' und den Ist-Wert in den state 'act' schreiben, z.B. per js, blockly, rules, ... Siehe Beschreibung der states in en/pid.md
Im Prinzip wär es natürlich denkbar, dass sich der Adapter an existierende States "anhängt". Könnt ev. als Feature eingequeued werden wenn es gewiunschen ist. Frage ist da nur wie das zu konfigurieren geht und ob es ausreicht act und y dann mit was zu verknüpfen ....
Erstell einen Feature Request wenn es dir wichtig ist mit möglich genauer Info was da geunschen ist. Aber bitte bedenk, dass der Adapter kein Steuerungsdesign_und_Stromlaufplan-Werkzeug werden kann (und soll).
Für V0.0.1 quetsch ich das aber nicht mehr rein.
-
@mcm57 sagte in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
Eine Kopie von wikipedia im Readme ist sicher übertrieben.
denk ich auch.
Hab's gera mal auf Wikipedia überflogen. Das mit einem Zweizeiler zu schaffen war wohl zu optimistisch -
@homoran
Nö - das Beispiel der Geschwindigkeitsregelung beim Auto beschreibt das eigentlich sehr gut.
Aber DANKE dass du was gesagt hast. Wenn man den Begriff kennt ist es einem nicht bewußt dass andere "Bahnhof" verstehen. -
@mcm57 sagte in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
Steuerungsdesign_und_Stromlaufplan-Werkzeug
Soetwas hatte ich eigentlich erwartet.
@mcm57 sagte in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
Adapter an existierende States "anhängt"
Sah aber schon sehr gut aus, da er den Quelldatenpunkt schön aufgedröselt hatte.
Ok, dann werde ich mal die Werte über die States eingeben und mal weiter schauen.