NEWS
Test Adapter rpi2 2.x
-
@garfonso
Also ich wär da pragmatisch:Die optionale dependency als normale dependency eintragen.
Da npm - wenn ich es richtig lese - auch ein Script triggern kann wenn das Package installiert wird, sollte es möglich sein, bei der Adapterinstallation das sudo apt ... automatisiert abzusetzen:
https://docs.npmjs.com/cli/v10/using-npm/scripts#life-cycle-operation-orderTest wär da ja eher minimal invasiv - einfach ins package,json eintragen und testen.
Solange niemand sagt dass das stört bzw. mit unverhältnismäßigen Risiken verbunden ist, würd ich das Paket einfach installieren. Und basta. Zuviel Freiheit stört m.E: auch oft.
-
@thomas-braun said in Test Adapter rpi2 2.x:
Einen gesplitteten Systemwerte-Adapter hätte man z. B. schon mal releasen können.
Sorry - aber die Aussage provoziert folgendes:
Dann tu das...Jeder Adapter hat einen Basisaufwand - sowohl bei der Wartung als auch zur Laufzeit. Die Diskussion über ein Splitting ist m.E. derzeit nicht wirklich angebracht, da es soweit ich es sehe primär drum geht ob die notwendige Bibliothek optional installiert werden soll oder verpflichtend. Meine Meinung (einfach immer installieren) hab ich schon kund getan. Aber es steht dir frei einen eigenen / getrennten Adapter zu erstellen. Garfonso sollten wir aber jetzt nicht mit einer Diskussion splitten / zusammenführen / optional was tun / oder nicht belasten. Er hat genug Arbekit und DANKE dass er sich sises Adapters überhaupt annimmt. Da der Adapter via LATEST verfügbar ist wird m.E. auch kein User blockiert.
-
-
@garfonso said in Test Adapter rpi2 2.x:
@searcher57
Kannst du mir mal deine GPIO Konfiguration zukommen lassen?
Am besten das komplette Objektsystem.adapter.rpi2.0
als JSON.Kannst du mir bitte sagen, wie ich das mache?
-
@mcm1957 said in Test Adapter rpi2 2.x:
Also ich seh kein Problem wenn der Adapter die Bibliothek zwingend erfordert. Eben da er ja nur auf dem Pi verwendbar ist. Was anderes wäre es wenn er auf allen Linuxsystem laufen soll. Oder gar auch auf anderen OS. Aus dem Bauch geschätzt glaub ich auch dass der Großteil der User den Adapter nur wegen der GPIOs installiert.
Genau so ist es bei mir!
-
@searcher57 Guck mal im Object Browser in IOBroker, da gibt es einen Ordner System und so weiter. Ich denke, du musst den Expertenmodus aktivieren.
-
- Object-View im Admin aufrufen
- Experten Ansicht aktivieren (Knopf mit dem Kopf oben in der Mitte)
system.adapter.rpi2.0
in die ID-Suche einfügen (oder selber suchen, system taucht nur in Expertenansicht auf)- (da ich nur das eine Objekt brauche) auf den Edit-Stift vom Objekt ganz rechts klicken, im Editfeld CTRL+A drücken, CTRL+C drücken, dann sollte das ganze JSON kopiert sein.
- Das JSON in einer Datei speichern (z.B. mit Notepad) und entweder hier anhängen oder mir per mail schicken ( garfonso@mobo.info oder so)
-
@mcm1957
Es gibt in der io-package.json osDependencies, damit "sollte" der js-controller das Paket für mich mit installieren. Zumindest auf Systemen, wo er das kann.Witzigerweise hatte ich da die Bibliothek eh schon eingetragen. hust
Hab jetzt die NPM-Abhängigkeit daher auch, wie vorgeschlagen, von optional auf zwingend umgestellt und noch einmal die Fehlermeldungen klarer gemacht bzw. verhindert, dass er mit gpios weiter hampelt, wenn er den Chip nicht starten konnte (da war noch ein Fehler).Mal sehen, was die 2.0.1 so macht.
Dabei habe ich auch festgestellt, dass ein "upgrade" auf die bereits installierte Version den adapter per npm neuinstalliert (egal ob in admin oder mit iob upgrade). Was man alles lernt.
-
@garfonso said in Test Adapter rpi2 2.x:
Dabei habe ich auch festgestellt, dass ein "upgrade" auf die bereits installierte Version den adapter per npm neuinstalliert (egal ob in admin oder mit iob upgrade). Was man alles lernt.
Die Reinstallation wurde mit js-controller 6 adaptiert. Da npm da viel optimiert war bisher die Reinstallation mehr eine nop Operation. Mit js-controller 6 deinstalliert ioBroker auf npm Ebene den Adapter und installiert ihn neu. Dadurch ist sichergestellt dass der Adapter und alle seine Dependencies wirklich dem entsprechen was im Paket ist (- früher wurden bei einer Reinstallation geänderte Dateien des Adapter snicht auf den Stand des npm Pakates gebracht -) aber OHNE dass Einstellungen, Custom Attribute etc. verloren gehen.
-
@garfonso hast du eventuell Lust und Gelegenheit, dir nochmal die Änderung bezüglich RPi Zero anzusehen, die ich als Pullrequest eingereicht hatte? Ich hatte das nach deiner Anmerkung nochmal überarbeitet. Bei mir ist das jetzt seit einigen Tagen so im Einsatz und läuft stabil. Wenn du das mergen könntest, kann ich meinen Fork einstampfen und wieder User sein.
-
Ach Mist... jetzt laufen die Tests nicht, weil opengpio nicht gebaut werden kann auf Github... seufz Ideen?
-
Könnte evtl. daran liegen, das opengpio gegen die libgpiod3 baut?
In meinem System hängt es daran. -
@thomas-braun
Jain, es liegt daran, dass opengpio halt die header und libraries (?), die mit libgiod-dev kommen braucht um zu kompilieren. Die hat github auf seinen Testsystemen natürlich nicht installiert. Aber deshalb schlägt da schon npm install fehl und die tests brechen ab.Da müsste ich mal gucken, wie das andere Adapter machen. Hm.
-
@garfonso sagte in Test Adapter rpi2 2.x:
dass opengpio halt die header und libraries (?), die mit libgiod-dev kommen braucht um zu kompilieren.
Jein, die hab ich ja auf meinem Debian 'Testing' drauf. Allerdings in aktuellster Version und da baut nur ein bestimmter branch von opengpio gegen. Ich müsste mir den branch mal irgendwie heranziehen.
-
@garfonso
Wie schon auf Telegram angeregt:Als Aktion ein sudo apt ... einbauen und das Paket installieren.
Sollte gehen bzw, wär einen Versuch wert. -
@garfonso said in Test Adapter rpi2 2.x:
- Object-View im Admin aufrufen
- Experten Ansicht aktivieren (Knopf mit dem Kopf oben in der Mitte)
system.adapter.rpi2.0
in die ID-Suche einfügen (oder selber suchen, system taucht nur in Expertenansicht auf)- (da ich nur das eine Objekt brauche) auf den Edit-Stift vom Objekt ganz rechts klicken, im Editfeld CTRL+A drücken, CTRL+C drücken, dann sollte das ganze JSON kopiert sein.
- Das JSON in einer Datei speichern (z.B. mit Notepad) und entweder hier anhängen oder mir per mail schicken ( garfonso@mobo.info oder so)
Danke für Eure Hilfe. Ich bin im Urlaub. Melde mich später wieder.
-
@garfonso said in Test Adapter rpi2 2.x:
- Object-View im Admin aufrufen
- Experten Ansicht aktivieren (Knopf mit dem Kopf oben in der Mitte)
system.adapter.rpi2.0
in die ID-Suche einfügen (oder selber suchen, system taucht nur in Expertenansicht auf)- (da ich nur das eine Objekt brauche) auf den Edit-Stift vom Objekt ganz rechts klicken, im Editfeld CTRL+A drücken, CTRL+C drücken, dann sollte das ganze JSON kopiert sein.
- Das JSON in einer Datei speichern (z.B. mit Notepad) und entweder hier anhängen oder mir per mail schicken ( garfonso@mobo.info oder so)
Ich hoffe, dass ich Dir hiermit helfen kann:
{ "type": "meta", "common": { "name": "admin", "type": "admin" }, "from": "system.host.Raspi58GB.cli", "ts": 1720289457636, "native": {}, "_id": "rpi2.admin", "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@searcher57 said in Test Adapter rpi2 2.x:
@garfonso said in Test Adapter rpi2 2.x:
- Object-View im Admin aufrufen
- Experten Ansicht aktivieren (Knopf mit dem Kopf oben in der Mitte)
system.adapter.rpi2.0
in die ID-Suche einfügen (oder selber suchen, system taucht nur in Expertenansicht auf)- (da ich nur das eine Objekt brauche) auf den Edit-Stift vom Objekt ganz rechts klicken, im Editfeld CTRL+A drücken, CTRL+C drücken, dann sollte das ganze JSON kopiert sein.
- Das JSON in einer Datei speichern (z.B. mit Notepad) und entweder hier anhängen oder mir per mail schicken ( garfonso@mobo.info oder so)
Ich hoffe, dass ich Dir hiermit helfen kann:
{ "type": "meta", "common": { "name": "admin", "type": "admin" }, "from": "system.host.Raspi58GB.cli", "ts": 1720289457636, "native": {}, "_id": "rpi2.admin", "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
oder meinst Du das:
{ "common": { "name": "GPIO 22", "type": "boolean", "role": "indicator", "read": true, "write": false }, "native": {}, "type": "state", "from": "system.adapter.rpi2.0", "user": "system.user.admin", "ts": 1726673023377, "_id": "rpi2.0.gpio.22.state", "acl": { "object": 1638, "state": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@searcher57
Nein, beides nicht. Also das JSON ist schon richttig erstellt, aber es ist das falsche Objekt. Ich meine das Objektsystem.adapter.rpi2.0
.//Edit: Aber gerade ist mir noch was einfacheres eingefallen -> einfach die Settings exportieren, das führt auch zu dem richtigen Ergebnis. Also bei den Einstellungen vom RPI Adapter oben rechts den Knopf mit dem Pfeil runter drücken, dann sollte das JSON als Download kommen.
-
@garfonso
meinst du das. Bei mir geht GPIO auch nicht mehr. Fehler analog:
Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch'){
"_id": "system.adapter.rpi2.0",
"common": {
"name": "rpi2",
"version": "2.0.0",
"title": "RPI-Monitor",
"authors": [
"Christian Baumgartner",
"husky-koglhof husky.koglhof@icloud.com",
"Garfonso garfonso@mobo.info"
],
"os": [
"linux"
],
"keywords": [
"ioBroker",
"monitoring",
"raspberry",
"orangepi",
"odroid",
"bananapi",
"gpio"
],
"licenseInformation": {
"type": "free",
"license": "MIT"
},
"platform": "Javascript/Node.js",
"main": "main.js",
"icon": "rpi2.png",
"enabled": true,
"extIcon": "https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.rpi2/master/admin/rpi2.png",
"readme": "https://github.com/iobroker-community-adapters/ioBroker.rpi2/blob/master/README.md",
"loglevel": "info",
"tier": 2,
"mode": "daemon",
"type": "hardware",
"compact": true,
"connectionType": "local",
"dataSource": "poll",
"adminUI": {
"config": "materialize"
},
"osDependencies": {
"linux": [
"build-essential",
"python",
"libgpiod-dev"
]
},
"dependencies": [
{
"js-controller": ">=3.3.22"
}
],
"globalDependencies": [
{
"admin": ">=5.0.0"
}
],
"singletonHost": true,
"messages": [
{
"condition": {
"operand": "and",
"rules": [
"oldVersion<2.0.0",
"newVersion>=2.0.0"
]
},
"title": {
"en": "GPIO Breaking Change",
"de": "GPIO Veränderung",
"ru": "GPIO Перерывы",
"pt": "GPIO Mudança de ruptura",
"nl": "GPIO Verandering doorbreken",
"fr": "GPIO Briser le changement",
"it": "GPIO Cambiamento di rottura",
"es": "GPIO Cambio de ruptura",
"pl": "GPIO Łamanie zmian",
"uk": "ГРУП Зміна несправностей",
"zh-cn": "科普罗 中断更改"
},
"text": {
"en": "GPIO needed massive changes for support of newer Raspian versions (Bookworm and following). Please check your GPIO configuration and if everything still works. GPIO Button support is removed. If you need it, please discuss in Github, see link.",
"de": "GPIO brauchte massive Änderungen für die Unterstützung neuerer Raspian Versionen (Bookworm und nachfolgend). Bitte überprüfen Sie Ihre GPIO-Konfiguration und wenn alles noch funktioniert. GPIO Button-Unterstützung wird entfernt. Wenn Sie es brauchen, diskutieren Sie bitte in Github, siehe Link.",
"ru": "GPIO нуждались в массовых изменениях для поддержки более новых версий Raspian (Bookworm и следующий). Пожалуйста, проверьте конфигурацию GPIO и все ли еще работает. Поддержка GPIO Button удалена. Если вам это нужно, пожалуйста, обсудите в Гитубе, см. ссылку.",
"pt": "O GPIO precisava de mudanças massivas para o suporte de versões mais recentes do Raspian (Bookworm e seguintes). Por favor, verifique sua configuração GPIO e se tudo ainda funciona. O suporte do botão GPIO é removido. Se precisar, por favor, discuta no Github, veja link.",
"nl": "GPIO had massale veranderingen nodig voor ondersteuning van nieuwere Raspian versies (Bookworm en volgende). Controleer uw GPIO configuratie en of alles nog werkt. GPIO-knop ondersteuning is verwijderd. Als je het nodig hebt, bespreek het dan in Github, zie link.",
"fr": "GPIO a besoin de changements massifs pour soutenir les nouvelles versions Raspiennes (Bookworm et suivants). Veuillez vérifier votre configuration GPIO et si tout fonctionne encore. Le support du bouton GPIO est enlevé. Si vous en avez besoin, veuillez discuter à Github, voir le lien.",
"it": "GPIO aveva bisogno di enormi cambiamenti per il supporto delle nuove versioni Raspian (Bookworm e seguenti). Controllare la configurazione GPIO e se tutto funziona ancora. Il supporto del pulsante GPIO viene rimosso. Se avete bisogno, si prega di discutere a Github, vedere il link.",
"es": "GPIO necesitaba cambios masivos para apoyar las nuevas versiones de Raspian (worm y siguientes). Por favor, compruebe su configuración de GPIO y si todo sigue funcionando. GPIO Button support is removed. Si lo necesita, por favor discuta en Github, vea el enlace.",
"pl": "GPIO potrzebowało ogromnych zmian dla wsparcia nowszych wersji Raspian (Bookworm i następnie). Proszę sprawdzić konfigurację GPIO i czy wszystko nadal działa. Wsparcie GPIO Button jest usuwane. W razie potrzeby proszę omówić to w Github, zobacz link.",
"uk": "GPIO вимагає масивних змін для підтримки нових версій Raspian (Bookworm і наступні). Будь ласка, перевірте налаштування GPIO і якщо все ще працює. При видаленні кнопки GPIO. Якщо вам потрібно, будь ласка, покажіть в Github, див. посилання.",
"zh-cn": "GPIO需要大规模修改来支持较新的Raspian版本(Bookdorm and follows). 请检查您的 GPIO 配置, 如果一切都还在工作。 GPIO按钮支持被删除. 如果你需要,请在Github讨论,参见链接."
},
"link": "https://github.com/iobroker-community-adapters/ioBroker.rpi2/issues/192",
"level": "warn",
"linkText": {
"en": "GPIO Button discussion.",
"de": "GPIO Button Diskussion.",
"ru": "GPIO Button discussion.",
"pt": "Discussão do botão GPIO.",
"nl": "GPIO Button discussie.",
"fr": "Discussion sur le bouton GPIO.",
"it": "GPIO Button discussione.",
"es": "GPIO Button discussion.",
"pl": "Dyskusja GPIO Button.",
"uk": "Обговорення кнопки GPIO.",
"zh-cn": "GPIO按钮讨论."
},
"buttons": [
"agree",
"cancel"
]
}
],
"installedFrom": "iobroker.rpi2@2.0.0",
"installedVersion": "2.0.0",
"host": "raspberrypi"
},
"native": {
"c_cpu": true,
"c_raspberry": true,
"c_memory": true,
"c_network": true,
"c_sdcard": true,
"c_swap": true,
"c_temperature": true,
"c_uptime": true,
"c_wlan": false,
"inputPullUp": false,
"inputDebounceMs": "0",
"buttonPullUp": false,
"buttonDebounceMs": "",
"buttonPressMs": "200",
"buttonDoubleMs": "500",
"dhtPollInterval": "15000",
"gpios": [
null,
null,
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": true,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
},
{
"enabled": false,
"input": "in",
"label": ""
}
]
}
}