@da_woody Ja mal sehen.
Überdenke im Moment erstmal meine Datenstruktur mit Hilfe der Informationen, die apollon mir gab.
NEWS
Best posts made by Tyantreides
-
RE: Mein nicht VIS Ansatz
-
RE: Visu auf React Basis
@apollon77 Hallo und Danke!
Ok. Da hab ich so wie es aussieht einiges grundlegend falsch verstanden.
Ich war bereits früh in der Entwicklungsphase meines Projekts über die Enums gestolpert.Ich hatte zu dem Zeitpunkt bereits versucht über eigene Enums meine Struktur zu schaffen und war etwas verdutzt, als ich feststellte, dass mir diese dann in den Konfigurationen gar nicht angeboten werden. Man kann ohne manuelle Objekt Editierung ja ausschließlich "rooms" und "functions" zuordnen. Auch werden weitere Enums nicht in der Spaltenkonfiguration angeboten.
Die Bezeichnung "rooms" hatte in meiner Gedankenwelt die Erwartungshaltung ausgelöst, hier nur Räume einzusortieren.
Jetzt nach näherer Betrachtung und Deinen Informationen fiel mir nun auf, dass das gar nicht im Sinne des Erfinders ist. Man kann diesen Bereich ja quasi als Strukturgenerator verstehen, in dem man selbstverständlich auch Bereiche, Etagen, Räume und alle weiteren Ebenen einer Struktur unterbringen kann.
Wenn ich das mal so sagen darf ist die Bezeichnung "rooms" da leider sehr irreführendIch bin dann jetzt tatsächlich zuversichtlich, mit Hilfe von Enums, Channels und Devices meine Struktur abbilden zu können.
Tja Simple Api war für mich ein Notbehelf, um überhaupt erst einmal an die Daten in meiner ja im Alias Baum umgesetzten Struktur zu gelangen. Ich pulle darüber auch nur initial beim laden der App und bereite alles mit einem Parser auf.
Die weitere Kommunikation läuft dann via mqtt. Das war für mich auch auf die schnelle die einfachste Lösung Daten strukturiert und performant zwischen App und iobroker per "push" auszutauschen.
Ich werde mich mal mit Websockets auseinandersetzen. Kannst Du mir da eine Dokumentation oder gar ein Projekt ans Herz legen mit Hilfe dessen ich gut nachvollziehen kann, wie man das für die Kommunikation mit iobroker sauber implementiert?Vielen Dank für die ausführliche Antwort
Beste Grüße
Chris -
RE: Visu auf React Basis
@apollon77
Ok recht herzlichen Dank!Beste Grüße aus Berlin!
-
RE: Umstellung Adapter auf adapter-react-v5
Hallo bin jetzt nicht der super Experte, allerdings kann ich dazu ein bischen was sagen.
Die Herangehensweise der klassischen admin Oberfläche und einem react Adapter unterschiedet sich schon stark.
Am besten Du erstellst Dir mit dem Adapter Creator mal einen neuen Adapter und nutzt dabei in der Auswahl react.
Du kannst sowohl die Konfiguration des Adapters als auch den Adapter Tab (falls vorhanden) auf react einstellen.Der Adapter Creator erstellt Dir dann einen lauffähigen Adapter auf react Basis. Mir hat das sehr geholfen um die grundlegenden Unterschiede beider Admin Interfaces besser zu verstehen.
Auf dem Wege kannst Du eine Migration sicher am besten bewerkstelligen.
Latest posts made by Tyantreides
-
RE: ioBroker.socket.io Adapter
@arteck
Ähm. Ich schreibe eine Software, für mein Smarthome.Wenn ich über WebSockets Objekte anlegen kann und diese auch editieren kann ist es da für mich nur konsequent, diese auch löschen zu können.
Wenn ich innerhalb eines Adapters arbeite kann ich das ja auch.Tja die Adapterentwicklung.....
Leider ist mit dem dev-server tool immer irgend etwas schief und ich bin damit immer nur dabei Fehler zu beheben, die mit meinem Adapter gar nichts zu tun haben. Von daher hab ich mein Projekt extern gezogen um damit endlich mal voran zu kommen.Vor allem ergibt dass Sperren des delObject Emits hinter einer Adapter Konfiguration, welche man nicht einstellen kann für mich keinen Sinn.
Daher frage ich hier.Zum Thema io:
Welche Unmenge an io meinst Du?
-
RE: Umstellung Adapter auf adapter-react-v5
Hallo bin jetzt nicht der super Experte, allerdings kann ich dazu ein bischen was sagen.
Die Herangehensweise der klassischen admin Oberfläche und einem react Adapter unterschiedet sich schon stark.
Am besten Du erstellst Dir mit dem Adapter Creator mal einen neuen Adapter und nutzt dabei in der Auswahl react.
Du kannst sowohl die Konfiguration des Adapters als auch den Adapter Tab (falls vorhanden) auf react einstellen.Der Adapter Creator erstellt Dir dann einen lauffähigen Adapter auf react Basis. Mir hat das sehr geholfen um die grundlegenden Unterschiede beider Admin Interfaces besser zu verstehen.
Auf dem Wege kannst Du eine Migration sicher am besten bewerkstelligen.
-
ioBroker.socket.io Adapter
Hallo,
ich versuche von extern (also nicht von einem ioBroker Adapter aus) via Websocket Verbindung ioBroker Objekte zu editieren und habe damit einige Probleme.
Das Abfragen von Objekten z.B. via
emit('getObjectView')
sowie das Anlegen neuer Objekte via
emit('setObject', options.id, obj)
funktionieren.
Ich kann aber mit
emit('delObject', id)
Keine Objekte löschen.
Meine Recherche hat ergeben, das diese Funktion in der lib/socket.js Datei des Adapters nur dann ermöglicht wird, wenn
that.settings.allowAdmin
auf true gesetzt ist.
Meine Frage hierzu ist, unter welchen Umständen das jemals der Fall ist? Ich konnte diesen Konfigurationsparameter in der ioBroker.socket.io Adapterkonfiguration nicht finden.
Gibt es da irgend etwas, was ich im ioBroker noch einstellen muss, damit das geht?
ps: ich nutze natürlich die Version 4.2.0 des Adapters.
-
RE: Probleme mit devserver bei adapter mit react
@alcalzone
habe noch etwas rumprobiert und verschiedene node versionen ausprobiert.
das ändert leider bei mir nichts. -
RE: Probleme mit devserver bei adapter mit react
@alcalzone
Ja das hab ich gesehen. Aber irgendwas geht da schief
Denn wenn ich den Adapter wie beschrieben ohne "react" erstelle, verhält sich der devserver beim Start anders.Hier die .create-adapter.json
{ "cli": true, "target": "directory", "adapterName": "react", "title": "React", "expert": "yes", "features": [ "adapter" ], "adminFeatures": [ "tab" ], "type": "communication", "startMode": "daemon", "connectionType": "local", "dataSource": "poll", "connectionIndicator": "no", "language": "JavaScript", "adminReact": "no", "tabReact": "yes", "tools": [ "ESLint", "type checking", "devcontainer" ], "i18n": "JSON", "releaseScript": "yes", "devServer": "yes", "devServerPort": 8089, "indentation": "Tab", "quotes": "double", "es6class": "yes", "authorName": "Tyantreides", "authorGithub": "Tyantreides", "authorEmail": "tyantreides@pocketpromotion.de", "gitRemoteProtocol": "HTTPS", "gitCommit": "no", "defaultBranch": "main", "license": "MIT License", "dependabot": "no", "creatorVersion": "2.1.1" }
-
RE: Probleme mit devserver bei adapter mit react
io-package.json wie folgt nach Erstellung unmodifiziert. Auf github ist noch nichts. wollte zuerst lokal testen bevor ich mir eine repoleiche anlege.
Hab in dem Fall nur für den tab react konfiguriert. Der config Bereich ist normal.{ "common": { "name": "react", "version": "0.0.1", "news": { "0.0.1": { "en": "initial release", "de": "Erstveröffentlichung", "ru": "Начальная версия", "pt": "lançamento inicial", "nl": "Eerste uitgave", "fr": "Première version", "it": "Versione iniziale", "es": "Versión inicial", "pl": "Pierwsze wydanie", "zh-cn": "首次出版" } }, "title": "React", "titleLang": { "en": "React", "de": "Reagieren", "ru": "Реагировать", "pt": "Reagir", "nl": "Reageer", "fr": "Réagir", "it": "Reagire", "es": "Reaccionar", "pl": "Reagować", "zh-cn": "反应" }, "desc": { "en": "react", "de": "reagieren", "ru": "реагировать", "pt": "reagir", "nl": "Reageer", "fr": "réagir", "it": "reagire", "es": "reaccionar", "pl": "reagować", "zh-cn": "反应" }, "authors": [ "Tyantreides <tyantreides@pocketpromotion.de>" ], "keywords": [ "ioBroker", "template", "Smart Home", "home automation" ], "license": "MIT", "platform": "Javascript/Node.js", "main": "main.js", "icon": "react.png", "enabled": true, "extIcon": "https://raw.githubusercontent.com/Tyantreides/ioBroker.react/main/admin/react.png", "readme": "https://github.com/Tyantreides/ioBroker.react/blob/main/README.md", "loglevel": "info", "mode": "daemon", "type": "communication", "compact": true, "connectionType": "local", "dataSource": "poll", "materialize": true, "materializeTab": true, "adminTab": { "singleton": true, "name": { "en": "React", "de": "Reagieren", "ru": "Реагировать", "pt": "Reagir", "nl": "Reageer", "fr": "Réagir", "it": "Reagire", "es": "Reaccionar", "pl": "Reagować", "zh-cn": "反应" }, "link": "", "fa-icon": "info" }, "eraseOnUpload": true, "dependencies": [ { "js-controller": ">=2.0.0" } ] }, "native": { "option1": true, "option2": "42" }, "objects": [], "instanceObjects": [] }
-
RE: Probleme mit devserver bei adapter mit react
ist ein per
npx @iobroker/create-adapter
Frisch erstellter adapter.
dev server in der auswahl hinzugefügt
react für tabseite ausgewählt.
javascript ausgewählt (kein typescript)Hier mehr kommt nicht. Bleibt stehen dann so:
ioBroker.react dev-server watch default Using profile name "default" Using adapter name "react" Install local iobroker.react /Users/christian/iobroker/adapterdev/ioBroker.react> npm run build > iobroker.react@0.0.1 prebuild > rimraf admin/build > iobroker.react@0.0.1 build > build-adapter react Compiling React with ESBuild... admin/build/tab.js 697.3kb admin/build/tab.css 3.8kb admin/build/tab.js.map 2.0mb admin/build/tab.css.map 6.8kb ⚡ Done in 593ms /Users/christian/iobroker/adapterdev/ioBroker.react> npm pack Packed to iobroker.react-0.0.1.tgz /Users/christian/iobroker/adapterdev/ioBroker.react/.dev-server/default> npm install "/Users/christian/iobroker/adapterdev/ioBroker.react/iobroker.react-0.0.1.tgz" up to date, audited 407 packages in 3s 21 packages are looking for funding run `npm fund` for details 4 high severity vulnerabilities To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details. /Users/christian/iobroker/adapterdev/ioBroker.react/.dev-server/default> node node_modules/iobroker.js-controller/controller.js Running inside /Users/christian/iobroker/adapterdev/ioBroker.react/.dev-server/default Starting React build Waiting for first successful React build... /Users/christian/iobroker/adapterdev/ioBroker.react> npm run watch:react > iobroker.react@0.0.1 watch:react > build-adapter react --watch Compiling React with ESBuild in watch mode... [watch] build finished, watching for changes... 2022-04-08 11:46:15.116 - info: host.dev-react-iMac1 iobroker.js-controller version 4.0.21 js-controller starting 2022-04-08 11:46:15.118 - info: host.dev-react-iMac1 Copyright (c) 2014-2022 bluefox, 2014 hobbyquaker 2022-04-08 11:46:15.119 - info: host.dev-react-iMac1 hostname: dev-react-iMac1, node: v16.13.2 2022-04-08 11:46:15.119 - info: host.dev-react-iMac1 ip addresses: fe80::de:7cf1:3990:21bd 2a01:5241:24a:1100:1c35:10:6f7f:a507 2a01:5241:24a:1100:4df6:d8e5:d5e8:1c25 192.168.178.47 fe80::8477:d6ff:fea6:7287 fe80::8477:d6ff:fea6:7287 fe80::e578:7018:8ed9:3215 fe80::e816:3147:59cc:965a 2022-04-08 11:46:15.125 - debug: host.dev-react-iMac1-Server Data File: /Users/christian/iobroker/adapterdev/ioBroker.react/.dev-server/default/iobroker-data/objects.jsonl 2022-04-08 11:46:15.204 - debug: host.dev-react-iMac1-Server Redis inMem-objects listening on port 9001 2022-04-08 11:46:15.206 - debug: host.dev-react-iMac1 Redis Objects: Use Redis connection: 127.0.0.1:26434 2022-04-08 11:46:15.214 - debug: host.dev-react-iMac1 Objects client ready ... initialize now 2022-04-08 11:46:15.215 - debug: host.dev-react-iMac1 Objects create System PubSub Client 2022-04-08 11:46:15.224 - debug: host.dev-react-iMac1 Objects client initialize lua scripts 2022-04-08 11:46:15.262 - debug: host.dev-react-iMac1 Objects connected to redis: 127.0.0.1:26434 2022-04-08 11:46:15.268 - debug: host.dev-react-iMac1-Server Data File: /Users/christian/iobroker/adapterdev/ioBroker.react/.dev-server/default/iobroker-data/states.jsonl 2022-04-08 11:46:15.364 - debug: host.dev-react-iMac1-Server Redis inMem-states listening on port 9000 2022-04-08 11:46:15.365 - debug: host.dev-react-iMac1 Redis States: Use Redis connection: 127.0.0.1:24434 2022-04-08 11:46:15.371 - debug: host.dev-react-iMac1 States create System PubSub Client 2022-04-08 11:46:15.392 - debug: host.dev-react-iMac1 States connected to redis: 127.0.0.1:24434 2022-04-08 11:46:15.465 - info: host.dev-react-iMac1 connected to Objects and States 2022-04-08 11:46:15.477 - info: host.dev-react-iMac1 added notifications configuration of host 2022-04-08 11:46:15.502 - debug: host.dev-react-iMac1 Plugin sentry Initialize Plugin (enabled=true) 2022-04-08 11:46:15.504 - info: host.dev-react-iMac1 Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system 2022-04-08 11:46:15.516 - info: host.dev-react-iMac1 2 instances found 2022-04-08 11:46:15.516 - debug: host.dev-react-iMac1 check instance "system.adapter.admin.0" for host "dev-react-iMac1" host.dev-react-iMac1 check instance "system.adapter.admin.0" for host "dev-react-iMac1" 2022-04-08 11:46:15.517 - debug: host.dev-react-iMac1 check instance "system.adapter.react.0" for host "dev-react-iMac1" host.dev-react-iMac1 check instance "system.adapter.react.0" for host "dev-react-iMac1" 2022-04-08 11:46:15.517 - info: host.dev-react-iMac1 starting 1 instance 2022-04-08 11:46:15.566 - debug: host.dev-react-iMac1 added notifications configuration of system.adapter.admin.0 2022-04-08 11:46:15.566 - debug: host.dev-react-iMac1 startInstance admin.0 loglevel=info, compact=false 2022-04-08 11:46:15.580 - info: host.dev-react-iMac1 instance system.adapter.admin.0 started with pid 56697
-
RE: Probleme mit devserver bei adapter mit react
@alcalzone
Wenn das ginge hätte ich keinen Text verfasstdie ioBroker instanz steht trotz start über "dev-server watch default" nicht zur verfügung unter dem von mir konfigurierten Port.
Das ist ja das Problem....Ich gehe dabei genauso vor wie bei einem nicht react adapter und komme leider zu einem anderen Ergebnis. wie beschrieben.
Wenn ich kein react in meinen Adapter konfiguriere kann ich mit "dev-server watch default" meinen dev Server starten und via konfiguriertem Port auf meinen Admin zugreifen, so lange der Watcher läuft.
-
Probleme mit devserver bei adapter mit react
Hallo zusammen,
ich arbeite mich gerade in die Adapterentwicklung ein und habe Probleme mit der Nutzung des devServers in Verbindung mit den react Funktionalitäten.
Immer dann wenn wenn ich mit mit Hilfe des Adapter Creators (npx @iobroker/create-adapter) einen Adapter erstelle, der entweder in auf der Config Seite oder auf einer Tab Seite react nutzen soll, kann ich den dev Server mit "dev-server run default" oder "dev-server watch default" nicht sauber starten.
Wie es aussieht wird nur ein react build des adapters erstellt und ein nodemon gestartet. Aber wie komme ich jetzt auf die app ohne dass ein ioBroker Admin gestartet wird?
Wenn ich bei der Adaptererstellung kein react nutze wird durch "dev-server watch default" der Adapter ja direkt in eine ioBroker Instanz gepackt und ein Webserver mit dem von mir konfigurierten Port gestartet unter der ich die ioBroker Instanz dann aufrufen kann.
Kann mir dabei jemand helfen?
Beste Grüße
Chris -
RE: Visu auf React Basis
Hallo,
ja ich hätte die "Befragung" längst in einen neuen Thread ausgelagert. Leider kann ich im Bereich "Entwicklung" keine Threats öffnen. Habe den im "Richtlinien" Post angesprochenen Moderator bereits angeschrieben, aber bisher noch keine Antwort erhalten.
Ich verstehe. die Daten quasi per "Parser" zu erkennen war für mich bis jetzt nicht so das Ziel. Meine App soll ja keinen globalen Ansatz zur Unterstützung aller Adapter mit ihren Geräten liefern, sondern einen kontrollierten Ausschnitt zeigen.
Daher auch mein Ansatz über den Alias Adapter. Darüber ließ sich die für mich am besten passende Struktur realisieren und ich habe ganz nebenbei noch den Vorteil der Austauschbarkeit der Geräte, weil ich immer auf für die App angepasste Datenpunkte zeigen kann. Somit spielt für mich z.B. bei einem Temperatursensor gar keine Rolle ob der nun von Aquara oder etwas anderem kommt.Die Funktion "getObjectView" hatte ich gesehen und auch direkt ausprobiert. Da bekam ich von meiner Instanz leider gar keine Daten zurück. Aber es kann sein, dass ich da mit den Parametern was falsch gesetzt habe.
Ich werd mir das noch mal anschauen.
Ich kämpfe zurzeit auch gerade mit der Inbetriebnahme einer DEV Umgebung für Adapter.
Also wenn ich BETA Tester für diesen Prozess wäre hätte ich einiges zu meckernMan findet ja gefühlt dutzende Anleitungen dazu. Leider ist keine davon wirklich gut.
Die Online Adapter Erstellung scheitert mit einem fatalen Fehler...
ein "out of the Box" Adapter Template habe ich unter all den Sachen die ich dazu bei github fand auch nicht finden können.
Naja ich stückle mir aktuell aus verschiedenen Anleitungen und Templates was zusammen...
Mal sehen wo die Reise da hin gehtDanke für die Informationen.
Wenn Du irgendwie dafür sorgen kannst, dass ich im Entwickler Bereich was posten kann erstelle ich gern dort ein oder zwei threats um an weitere Infos zu kommen.Beste Grüße