NEWS
Test Adapter rpi2 2.x
-
@searcher57
Warum stellst du den trigger auf "wird aktualisiert"? Damit müsstest du doch jeden Impuls zweimal zählen, weil der state sich zutrue
und dann auf wieder auffalse
ändert, also zwei "Aktualisierungen".Sonst hab ich keine Idee, hab aber selber auch noch keine Impulszähler (erfolgreich) gebaut.
-
@garfonso said in Test Adapter rpi2 2.x:
@searcher57
Warum stellst du den trigger auf "wird aktualisiert"? Damit müsstest du doch jeden Impuls zweimal zählen, weil der state sich zutrue
und dann auf wieder auffalse
ändert, also zwei "Aktualisierungen".Sonst hab ich keine Idee, hab aber selber auch noch keine Impulszähler (erfolgreich) gebaut.
Ich habe es auf "ist wahr" gestellt und werde es beobachten. Danke!
-
@searcher57 said in Test Adapter rpi2 2.x:
@garfonso said in Test Adapter rpi2 2.x:
@searcher57
Warum stellst du den trigger auf "wird aktualisiert"? Damit müsstest du doch jeden Impuls zweimal zählen, weil der state sich zutrue
und dann auf wieder auffalse
ändert, also zwei "Aktualisierungen".Sonst hab ich keine Idee, hab aber selber auch noch keine Impulszähler (erfolgreich) gebaut.
-
Hi @garfonso,
ich habe das eben noch einmal getestet. Wenn ich die Einstellung auf Startwert 0 ändere funktioniert mein Bewässerungsprogram wie es soll bzw. es früher unter dem alten Apapter auch gemacht hat. Auch wenn mir das nicht logisch erscheint das jetzt die gpio Einstellungen gegenüber früher nun "invertiert" konfiguriert werden mussten um mit dem unveränderten Programm arbeiten zu können.
Eins jedoch funktioniert noch nicht was m.E. wichtig wäre zu korrigieren. Wenn ich beim alten Adapter über SSH den IO-Broker angehalten habe wurden alle gesetzen Ausgänge auf "NULL" gesetzt. Das sollte aus Sicherheitsgründen auch so sein.
Kannst du das bitte mit in den Entwicklungsplan aufnehmen und mit einem der nächsten Releases anpassen.
-
@garfonso said in Test Adapter rpi2 2.x:
@searcher57
Warum stellst du den trigger auf "wird aktualisiert"? Damit müsstest du doch jeden Impuls zweimal zählen, weil der state sich zutrue
und dann auf wieder auffalse
ändert, also zwei "Aktualisierungen".Sonst hab ich keine Idee, hab aber selber auch noch keine Impulszähler (erfolgreich) gebaut.
Also, ich habe es auf "wurde geändert" gestellt und sowohl im Script, als auch in der Instanz, eine Verzögerung von 200 ms eingegeben. Seit drei Tagen stimmt der Wert exakt überein.
-
@moppedman said in Test Adapter rpi2 2.x:
wurden alle gesetzen Ausgänge auf "NULL" gesetzt.
Hm? Was bedeutet das genau? Wurden die states auf null gesetzt? Gingen die GPIOs dabei auch aus (oder an?)?
-
Ich habe mich jetzt getraut die aktuellste Version 2.2.1 zu installieren auf einem RPi 3.
Dieser dient unter anderem zum Öffnen einer Tür mittels Relais -Steuerung.Nun aktuell folgendes Problem. Der Ausgang schaltet bei Adapter-Neustart kurzzeitig mehrfach von True auf False. In dem Moment schaltet er das Relais. Der Ausgang muss dazu beim mir auf 1 stehen bei Start. Eine andere Steuerung ist nicht möglich, da sonst das Relais bei Stromausfall am Pi schalten würde und das Tor öffnet.
Geht er auf 0, schaltet das Relais und das Tor geht auf.Aktuell also Tür auf bei Stromausfall und bei Adapter Neustart. Kannst du das checken? In den 1.x er Versionen haben wir den Fehler damals behoben.
-
@smallfeuer Irgend etwas sicherheitsrelevantes würde ich nicht über IO Broker machen. (Mache ich auch nicht). Da kann immer etwas quer hängen...
-
@laser Gut gemeinter Hinweis, aber hilft nicht beim Problem, und wenn es nur die Gartenteichpumpe ist die nicht schaltet, dann könnten auch Fische sterben ;).
Der Iobroker übernimmt seit Jahren zuverläassig viele Sicherheitsrelevante Sachen, ohne Probleme. Man muss halt immer alles verifizieren, ich wusste ja hier dank der guten Info das das Update kritisch ist und hab mir dafür etwas Zeit eingeplant.@Garfonso Ich hab jetzt die aktuellste Githubversion überinstalliert, die Fehler sind verschwunden. Warum auch immer, hoffe sie kommen nach dem nächsten Update nicht zurück.
https://github.com/iobroker-community-adapters/ioBroker.rpi2
-
@smallfeuer said in Test Adapter rpi2 2.x:
Der Iobroker übernimmt seit Jahren zuverläassig viele Sicherheitsrelevante Sachen, ohne Probleme.
Ich glaube ich verstehe deine Aussage durchaus. Dennoch muss auch ich betonen, dass das ioBroker System NICHT für sicherheitsrelevante Aufgaben designed und geeignet ist.
Natürlich kann jeder User selbst entscheiden was er wie löst. Eine Steuerung der Teichpumpe würde ich auch nicht als sicherheitsrelevant sehen (auch wenn Fische gefährdet sind) - es wird wohl kaum jemand redundante Pumpen installieren weil eine normale Teichpumpe ja wohl auch ausfallen kann. Andrerseits ist ioBroker definitiv ungeeignet die Heizleistung eines Kessels zu steuern - oder genauer gesagt, einen geprüften Überhitzungsschutz zu ersetzen.
Ob nun das Öffnen / Entriegeln eines Tors sicherheitskritisch ist hängt wohl vom Anwendungsfall ab. Ein Zauntor wird kaum ein Problemdarstellen wenn es versehentlich offen steht - die Eingangstüre eines Juweliers würde ich nicht via ioBroker steuern.
Also generell ist die Aussage "ioBroker ist NICHT für sicherheitskritische Anwendungen geeignet" vollkommen richtig.
-
@mcm1957 Aus rechtlicher Sicht, sehr gut auf den Punkt gebracht. Der Fahrstuhl sollte nicht damit betrieben werden. Zur Auflösung ob der Bug schon behoben wurde, hilft der Beitrag aber leider nicht. Ich wollte hier keine Diskussion über den Einsatz meiner Steuerung lostreten.
-
Kurze Frage:
Ich bekomme beim Start der aktuellen Version die Fehlermeldung ins log:
rpi2 has an invalid jsonConfig: [{"instancePath":"/items/_monitoring/type","schemaPath":"#/definitions/componentType/enum","keyword":"enum","params":{"allowedValues":["accordion","alive","autocomplete","autocompleteSendTo","certificate","certificates","checkLicense","checkbox","chips","color","coordinates","cron","custom","datePicker","deviceManager","divider","file","fileSelector","func","header","icon","image","imageSendTo","instance","interface","ip","jsonEditor","language","number","objectId","panel","password","pattern","port","qrCode","room","select","selectSendTo","sendTo","setState","slider","state","staticImage","staticLink","staticText","table","text","textSendTo","timePicker","user","uuid"]},"message":"must be equal to one of the allowed values"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Editiere ich die Datei mit
sudo nano /opt/iobroker/iobroker-data/files/rpi2.admin/jsonConfig.json
Steht dort:
"i18n": true, "type": "table", "items": { "_monitoring": { "type": "tabs", "label": "Monitoring", "items": { "_explanation": { "type": "staticText", "text": "MonitoringExplanation", "newLine ": true }, ...
Richtig müsste in Zeile 5 statt:
"type": "tabs",
also
"type": "table",
sein, oder?
Damit kommt die Fehlermeldung nicht und der Adapter funktioniert. Falls das richtig ist, könnte / müsste dies im Quellcode angepasst werden.
Der Fehler tritt auch bei einer "frischen" Installation des Adapters auf. -
Ich stoppe den io-Broker ja über ssh mit "iob stop". Daher kann ich dir nicht sagen in welchem Zustand die States dann stehen. Der io-Broker läuft dann ja nicht mehr.
Habe aber festgestellt das beim Anhalten der Instanz des rpi2 Adapters die Relais das gleiche Verhalten zeigen und abfallen.
Ich gehe davon aus, das beim ordnungsgemäßem Runterfahren des io-Brokers eine Routine aufgerufen wird die alle konfigurierten Ausgänge auf "0" bzw. keinen Strom / Spannung schaltet. Denn alle geschalteten Relais fallen beim alten Adapter ab und die Kontroll-LED auf meiner Relaisplatine erlischt.
Habe mal das Verhalten getestet und in nachfolgende Tabelle eingetragen. Die States habe ich nach den Stoppen des rpi2 Adapters in den Objekten nachgeschaut und dann eingetragen. Man sieht das beim alten Adapter unabhängig vom Startwert "0" oder "1" beim Setzen auf FALSE das Relais anzieht. Beim neuen Adapter ist das Anziehen des Relais abhängig von Startwert. Bei "0" und FALSE ist das Relais AN. Bei "1" und FALSE ist das Relais aus.
-
@smallfeuer said in Test Adapter rpi2 2.x:
hoffe sie kommen nach dem nächsten Update nicht zurück.
Öhm... das hoffe ich auch.
Ich sehe da nichts, was dein Problem beheben würde. kopfkratz
@tobias78 said in Test Adapter rpi2 2.x:
Kurze Frage:
Ich bekomme beim Start der aktuellen Version die Fehlermeldung ins log:
rpi2 has an invalid jsonConfig: [{"instancePath":"/items/_monitoring/type","schemaPath":"#/definitions/componentType/enum","keyword":"enum","params":{"allowedValues":["accordion","alive","autocomplete","autocompleteSendTo","certificate","certificates","checkLicense","checkbox","chips","color","coordinates","cron","custom","datePicker","deviceManager","divider","file","fileSelector","func","header","icon","image","imageSendTo","instance","interface","ip","jsonEditor","language","number","objectId","panel","password","pattern","port","qrCode","room","select","selectSendTo","sendTo","setState","slider","state","staticImage","staticLink","staticText","table","text","textSendTo","timePicker","user","uuid"]},"message":"must be equal to one of the allowed values"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Editiere ich die Datei mit
sudo nano /opt/iobroker/iobroker-data/files/rpi2.admin/jsonConfig.json
Steht dort:
"i18n": true, "type": "table", "items": { "_monitoring": { "type": "tabs", "label": "Monitoring", "items": { "_explanation": { "type": "staticText", "text": "MonitoringExplanation", "newLine ": true }, ...
Richtig müsste in Zeile 5 statt:
"type": "tabs",
also
"type": "table",
sein, oder?
Damit kommt die Fehlermeldung nicht und der Adapter funktioniert. Falls das richtig ist, könnte / müsste dies im Quellcode angepasst werden.
Der Fehler tritt auch bei einer "frischen" Installation des Adapters auf.Danke für die Analyse. Aber welche Version des Adapters?
Wenn ich es richtig sehe, müsste dort seit 2.2.1panel
statttabs
stehen, was tatsächlich falsch war.table
ergibt wenig Sinn. Funktioniert damit noch die Configurationsseite? -
@moppedman said in Test Adapter rpi2 2.x:
Ich stoppe den io-Broker ja über ssh mit "iob stop". Daher kann ich dir nicht sagen in welchem Zustand die States dann stehen. Der io-Broker läuft dann ja nicht mehr.
Dann stoppe doch mal nur den Adapter?
Wobei ich nicht glaube, dass die States irgendwas mit dem Verhalten zu tun haben, wenn du den ganzen ioBroker stoppst...Und ja, das kann sein, dass das Verhalten anders ist, weil die GPIOs anders angesprochen werden.
@moppedman said in Test Adapter rpi2 2.x:
Ich gehe davon aus, das beim ordnungsgemäßem Runterfahren des io-Brokers eine Routine aufgerufen wird die alle konfigurierten Ausgänge auf "0" bzw. keinen Strom / Spannung schaltet.
Interessant, dass du das erwartest. Ist das Konsensmeinung?
Ich würde zugegebenermaßen eher erwarten, dass nichts mehr passiert, wenn ich den ioBroker beende.@moppedman said in Test Adapter rpi2 2.x:
Man sieht das beim alten Adapter unabhängig vom Startwert "0" oder "1" beim Setzen auf FALSE das Relais anzieht.
Das heißt, beim alten Adapter war "Startwert 1" fehlerhaft und hat einfach gar keinen Unterschied gemacht? Oder siehst du irgendeinen anderen Unterschied, den du nicht in der Tabelle hast?
Und zur Spalte "gpioinfo" wäre noch interessant, was die sagt, wenn der Adapter beendet wurde.
-
Hast du dabei mal die Datenpunkte getrakt, beim Start des Adapter?
Ich hatte den Wechsel auch nur in der Datenbank gesehen, bzw. am Torantrieb gemerkt, dem reicht ja ein kurzer Impuls zum Öffnen.
Das Endergebnis war bei mir ebenfalls korrekt auf die Voreinstellung, nur halt Signalflattern zwischendrin.
Vielleicht war es aber nur ein BUG bei meiner 1. Installation. Wie gesagt, jetzt läuft es wie immer. -
Hi @garfonso ,
Wie geschrieben ist das Verhalten beim stoppen der Instanz identisch wie beim stoppen des ioBroker über SSH. Die Tabelle gilt also für beides.
Ob meine Meinung Konsens der Community ist muss die Gruppe entscheiden und nicht ich.
Meine Überlegung kommen aus einem reinen Sicherheitsaspekt. Wenn du an einer Industrieanlage einen NOT-AUS drückst muss alles Spannungsfrei geschaltet werden und es dürfen keine gefahrbringenden Bewegungen mehr eingeleitet werden. Ich habe mein Programm und auch die Verkabelung zu den Ventilen entsprechend aufgebaut. Das die Ausgänge auch beim Anhalten der Instanz weggeschaltet werden ist daher -sicherheitstechnisch- für mich logisch.
Für mich sieht es so aus, dass der Startwert bzw. Anfangswert in den beiden Adapterversion völlig unterschiedlich interpretiert wird.
-
Im "alten" Adapter gibt der Startwert 1/0 an ob der Ausgang beim Starten des Adapters gesetzt werden soll oder nicht. Das Verhalten im Programm beim Setzen des States auf FALSE / TRUE ist davon völlig unabhängig aber immer gleich
-
Im "neuen" Adapter gibt der Anfangswert 1/0 an ob ich in einem Programm mit FALSE oder TRUE auf einen Ausgang Spannung gebe oder nicht, d.h. das Verhalten wird invertiert.
Würdest du dem Zustimmen ?
-
-
@moppedman said in Test Adapter rpi2 2.x:
es dürfen keine gefahrbringenden Bewegungen mehr eingeleitet werden
Eben... daher macht der Adapter nichts, wenn er ausgeschaltet wird. Woher soll der wissen, bei welchem Spannungszustand sich was bewegt oder nicht?
Ich kann halt weder im aktuellen noch im alten Adaptercode sehen, dass da beim Beenden noch etwas in die GPIOs geschrieben wird. Das wäre ja notwendig, um die beim Beenden alle GPIOs auf 0 zu stellen. Und dann ist die Frage, ob das sicher für alle GPIOs ausgeführt wird, wenn z.B. der ioBroker oder Adapter abstürzen sollte... Insofern ist es, aus softwaretechnologischer Sicht, sicherer, beim Beenden nicht noch die States zu schreiben.
@moppedman said in Test Adapter rpi2 2.x:
Würdest du dem Zustimmen ?
Das scheint so zu stimmen. Ich habe das Setting wohl völlig missinterpretiert. Wird angepasst.
-
@garfonso Mir wäre es am Liebsten, wenn nach dem Adapter Neustart die Ausgänge nicht gesetzt sind. Nach einem Stromausfall z.B. ist kein Ausgang gesetzt. Wenn ich etwas vom Ausgang will, muß ich Ihn neu beschreiben.
-