NEWS
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. -
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.
-
-
@garfonso Erst man vielen Dank das du das Startverhalten anpassen willst. Wenn du das fertig hast teste ich das gerne für dich. Einfach nur melden
Hinsichtlich des Freischalten verstehe ich jetzt, das weder im alten noch im neunen Adapter die Ausgänge zurückgeschaltet werden.
Kann es sein das im Betriebssystem für die GPIOs dieses Verhalten hinterlegt ist. Wenn ich das richtig gelesen habe wurden die GPIO von der Pi Foundation völlig neu aufgesetzt.
-
@garfonso
Hallo,
was ist denn jetzt los? Auf einmal funktioniert der Gaszähler nicht mehr.
Deinen Hinweis habe ich durchgeführt.sudo apt install libgpiod-dev Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig Statusinformationen werden eingelesen… Fertig libgpiod-dev ist schon die neueste Version (1.6.3-1+b3). Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: linux-headers-6.6.47+rpt-common-rpi linux-kbuild-6.6.47+rpt Verwenden Sie »sudo apt autoremove«, um sie zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Trotzdem kommen folgende Fehlermeldungen auf meinem Raspi 5:
v7.1.5 13 Log-Größe: 135.0 KB Zeit rpi2.0 2024-12-22 13:58:12.326 warn If the library is installed and npm list | grep opengpio shows the npm library is also installed, please report this issue to the adapter developer with the model of your device and deboug output from an adapter start. rpi2.0 2024-12-22 13:58:12.326 warn Please make sure that libgpiod-dev (on raspian/debian run sudo apt install libgpiod-dev) is installed in the system and then reinstall the adapter. rpi2.0 2024-12-22 13:58:12.325 warn Cannot initialize GPIO: No chip found. GPIO functionality disabled! rpi2.0 2024-12-22 13:58:12.090 info starting. Version 2.2.1 in /opt/iobroker/node_modules/iobroker.rpi2, node: v20.18.1, js-controller: 7.0.3
Hast Du vielleicht eine Erklärung? Bis gestern hat alles funktioniert, wie es soll.
-
sudo apt update apt policy libgpiod*
sagt? Und hast du den Adapter reinstalliert?
Mal inraspi-config
nach gpio geschaut?
-
@thomas-braun said in Test Adapter rpi2 2.x:
raspi-config
So ich habe in der config I8 Remote GPIO Enable/disable remote access to GPIO pins aktiviert. Oder ist das falsch?
@thomas-braun said in Test Adapter rpi2 2.x:
sudo apt update apt policy libgpiod*
sagt? Und hast du den Adapter reinstalliert?
Mal inraspi-config
nach gpio geschaut?
Also ich habe GPIO aktiviert, oder war das falsch?
Hier die Ausgabe:
sudo apt update apt policy libgpiod* OK:1 http://deb.debian.org/debian bookworm InRelease OK:2 http://deb.debian.org/debian-security bookworm-security InRelease Holen:3 http://deb.debian.org/debian bookworm-updates InRelease [55,4 kB] OK:4 http://archive.raspberrypi.com/debian bookworm InRelease OK:5 https://repos.influxdata.com/debian stable InRelease OK:6 https://deb.nodesource.com/node_20.x nodistro InRelease OK:7 https://repo.mosquitto.org/debian bookworm InRelease Es wurden 55,4 kB in 1 s geholt (85,0 kB/s). Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig Statusinformationen werden eingelesen… Fertig Alle Pakete sind aktuell. libgpiod-dev: Installiert: 1.6.3-1+b3 Installationskandidat: 1.6.3-1+b3 Versionstabelle: *** 1.6.3-1+b3 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages 100 /var/lib/dpkg/status libgpiod-doc: Installiert: (keine) Installationskandidat: 1.6.3-1 Versionstabelle: 1.6.3-1 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages 500 http://deb.debian.org/debian bookworm/main armhf Packages libgpiod2: Installiert: 1.6.3-1+b3 Installationskandidat: 1.6.3-1+b3 Versionstabelle: *** 1.6.3-1+b3 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages 100 /var/lib/dpkg/status
-
@searcher57 sagte in Test Adapter rpi2 2.x:
Also ich habe GPIO aktiviert, oder war das falsch?
Nein, das passt.
-
@thomas-braun said in Test Adapter rpi2 2.x:
@searcher57 sagte in Test Adapter rpi2 2.x:
Also ich habe GPIO aktiviert, oder war das falsch?
Nein, das passt.
Bis jetzt kein Erfolg. In der Config habe ich vorher nie etwas eingestellt.
-
-
@thomas-braun said in Test Adapter rpi2 2.x:
@searcher57
Und was verrätcd /opt/iobroker/ && npm ls opengpio
pi@Raspi58GB:~ $ cd /opt/iobroker/ && npm ls opengpio iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.2.2 └── opengpio@1.0.17 pi@Raspi58GB:/opt/iobroker $
Adapter gerade neu installiert, ohne Erfolg!
-
@searcher57 said in Test Adapter rpi2 2.x:
@thomas-braun said in Test Adapter rpi2 2.x:
@searcher57
Und was verrätcd /opt/iobroker/ && npm ls opengpio
pi@Raspi58GB:~ $ cd /opt/iobroker/ && npm ls opengpio iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.2.2 └── opengpio@1.0.17 pi@Raspi58GB:/opt/iobroker $
Adapter gerade neu installiert, ohne Erfolg!
Hier nochmal das Protokoll:
pi2.0 2024-12-22 16:20:54.990 warn If the library is installed and npm list | grep opengpio shows the npm library is also installed, please report this issue to the adapter developer with the model of your device and deboug output from an adapter start. rpi2.0 2024-12-22 16:20:54.990 warn Please make sure that libgpiod-dev (on raspian/debian run sudo apt install libgpiod-dev) is installed in the system and then reinstall the adapter. rpi2.0 2024-12-22 16:20:54.989 warn Cannot initialize GPIO: No chip found. GPIO functionality disabled! rpi2.0 2024-12-22 16:20:54.675 info starting. Version 2.2.2 in /opt/iobroker/node_modules/iobroker.rpi2, node: v20.18.1, js-controller: 7.0.3 rpi2.0 2024-12-22 16:20:50.340 info terminating rpi2.0 2024-12-22 16:20:49.841 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason rpi2.0 2024-12-22 16:20:49.840 info terminating rpi2.0 2024-12-22 16:20:49.839 info Got terminate signal TERMINATE_YOURSELF rpi2.0 2024-12-22 16:19:27.683 info GPIO ports are not configured rpi2.0 2024-12-22 16:19:26.628 info starting. Version 2.2.2 in /opt/iobroker/node_modules/iobroker.rpi2, node: v20.18.1, js-controller: 7.0.3 rpi2.0 2024-12-22 16:16:33.859 info terminating rpi2.0 2024-12-22 16:16:33.359 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason rpi2.0 2024-12-22 16:16:33.359 info terminating rpi2.0 2024-12-22 16:16:33.358 info Got terminate signal TERMINATE_YOURSELF rpi2.0 2024-12-22 16:05:28.448 warn If the library is installed and npm list | grep opengpio shows the npm library is also installed, please report this issue to the adapter developer with the model of your device and deboug output from an adapter start. rpi2.0 2024-12-22 16:05:28.448 warn Please make sure that libgpiod-dev (on raspian/debian run sudo apt install libgpiod-dev) is installed in the system and then reinstall the adapter.
-
@searcher57 sagte in Test Adapter rpi2 2.x:
Adapter gerade neu installiert, ohne Erfolg!
bist du sicher?
nicht nur die Instanz neu erstellt?
-
@homoran said in Test Adapter rpi2 2.x:
@searcher57 sagte in Test Adapter rpi2 2.x:
Adapter gerade neu installiert, ohne Erfolg!
bist du sicher?
nicht nur die Instanz neu erstellt?
Ja, bin mir sicher. Den Adapter gelöscht und über beta neu installiert und konfiguriert.