NEWS
"Homematic Manager Adapter" First Steps
-
So, Config wird richtig gebaut, funktioniert auch wunderbar mit "Änderungen zur Laufzeit".
Jetzt aber eine blöde Frage, ist es möglich, bestehende Instanzen (in diesem Fall hm-rpc) abzufragen, welche Config
dort beinhaltet ist?
Weil dann könnte ich gleich direkt die bestehenden hm-rpc Adapter einbinden und müsste diese nicht doppelt konfigurieren.
-
Anbei mal eine Ansicht der Admin Einstellungen des Adapters.
301_admin-console.png -
Hallo versteckt,
na Du legst ein Tempo hin…
Leider kann ich dir (momentan) nicht direkt weiterhelfen. Bin gerade dabei mit Webstorm mir eine Entwicklungsumgebung aufzubauen.
Fragen:
Wie könnte man den Sourcecode sharen?
Was nutzt Du zum entwickeln? Ich hoffe nicht vi.
Danke
Steve
-
So, Config wird richtig gebaut, funktioniert auch wunderbar mit "Änderungen zur Laufzeit".
Jetzt aber eine blöde Frage, ist es möglich, bestehende Instanzen (in diesem Fall hm-rpc) abzufragen, welche Config
dort beinhaltet ist?
Weil dann könnte ich gleich direkt die bestehenden hm-rpc Adapter einbinden und müsste diese nicht doppelt konfigurieren. `
Du kannst hm-rega abschauen.https://github.com/ioBroker/ioBroker.hm … index.html
Es gibt schon fertige Funktion:
`var instances = {}; getAdapterInstances('hm-rpc', function (arr) { var count = arr.length; for (var i = 0; i < arr.length; i++) { getObject('system.adapter.' + arr[i], function(err, obj) { instances[obj._id] = obj; count--; if (!count) { // finished, do something with your array console.log(JSON.stringify(instances)); } } } console.log(JSON.stringify(arr)); }` [/i]
-
…oder vielleicht doch.
Die Konfiguration von Adaptern steht doch in einem ibBroker Object wie hm-rpc oder system.adapter.hm-rpc?
Steve
-
…oder vielleicht doch.
Die Konfiguration von Adaptern steht doch in einem ibBroker Object wie hm-rpc oder system.adapter.hm-rpc?
Steve `
Die steht in "system.adapter.hm-rpc.X", wo X Instanznummer ist. -
Im Moment benutze ich noch Xcode, bin ja auf Apple unterwegs.
Muss erst mal schauen, inwiefern ich Eclipse einsetze. Komm ja noch aus der C bzw. Java Schiene, ist halt auch schon 12 Jahre her.
Werde mal versuchen die Objekte so auszulesen und dann mal ein Paket schnüren, damit es alle nutzen können.
-
- Gibt es eine Doku wie man aus einem eigenen ioBroker Adapter ein NPM Installations Packet erzeugt? Ich denke dies steckt im Gruntfile.js? `
Nein. Das ist allein package.json.
-
Erst Account auf https://www.npmjs.com/ erzeugen.
-
Danach````
npm init
- Danach packet.json ergänzen ([https://docs.npmjs.com/files/package.json](https://docs.npmjs.com/files/package.json) oder bei anderen Adapter abschauen) -```` npm publish
ioBroker Adapters müssen immer mit "iobroker." anfangen, sonst werden die ignoriert beim start.
- Welche Architektur/Pattern steckt in ioBroker und seinen Adaptern? Ein paar Stichpunkte reichen natürlich. `
Example ist gar nicht so schlecht um zu verstehen wie einen Adapter funktioniert. Ich suche immer noch die Inspiration für ADAPTER.md :?
- Gibt es eine Doku wie man aus einem eigenen ioBroker Adapter ein NPM Installations Packet erzeugt? Ich denke dies steckt im Gruntfile.js? `
-
Bin die Woche ziemlich ausgelastet, werde also erst am Samstag versuchen die Daten hochzuladen.
Gesendet von meinem iPhone mit Tapatalk
-
Bin heute mal ein Stück weitergekommen:
Es werden nun automatisch alle hm-rpc Objekte in die Admin Seite geladen.
Somit muss man diese nicht manuell reinkonfigurieren.
Das Thema mit npm Install kommt dann als nächstes dran, hatte heute schon mal Zeit mich ein wenig einzulesen.
-
Es ist vollbracht, eine initiale Version des iobroker.hmm ist in Git bzw. npm zu finden.
Bitte nicht erschlagen, es ist noch nichts dokumentiert und sicherlich Fehler behaftet.
Ausserdem sind beide Abhängigkeiten im Git mitdrinnen.
Könnt ihr trotzdem mal versuchen diesen zu installieren (im ioBroker Root-Dir einfach "npm install iobroker.hmm" eingeben)?
Dann weiss ich zumindest gleich mal, was ich alles noch machen muss.
-
Und gleich eine Installationsanleitung hinterhergeschossen GG:
cd IOBROKERDIR
npm install iobroker.hmm
cd node_modules/iobroker.hmm/node_modules
curl -o master.zip https://codeload.github.com/hobbyquaker … zip/master
unzip master.zip
rm master.zip
mv homematic-manager-master homematicmanager
cd homematicmanager
npm install
Danach in der Admin Seite den Adapter hinzufügen.
Dieser muss dann noch konfiguriert werden.
Ich habe die RPC Listen IP immer auf ein physikalisches Interface gesetzt.
Wenn bereits hm-rpc Adapter da sind, werden diese in der Liste automatisch gesetzt.
Falls kein hm-rpc Adapter aktiv ist, müssen folgende Parameter gesetzt werden:
Name: Ein aussagekräftiger Name
Type: BidCos-RF
IP: Die IP-Adresse des Homegear / CCU2
Port: 2001
isCcu: true
init: true
-
ich habs versucht:
root@quad-pi:/opt/iobroker# npm install iobroker.hmm npm http GET https://registry.npmjs.org/iobroker.hmm npm http 200 https://registry.npmjs.org/iobroker.hmm npm http GET https://registry.npmjs.org/iobroker.hmm/-/iobroker.hmm-0.0.6.tgz npm http 200 https://registry.npmjs.org/iobroker.hmm/-/iobroker.hmm-0.0.6.tgz npm http GET https://registry.npmjs.org/fs.notify npm http 200 https://registry.npmjs.org/fs.notify npm http GET https://registry.npmjs.org/retry npm http GET https://registry.npmjs.org/async npm http 200 https://registry.npmjs.org/async npm http 200 https://registry.npmjs.org/retry iobroker.hmm@0.0.6 node_modules/iobroker.hmm └── fs.notify@0.0.4 (retry@0.6.1, async@0.1.22) root@quad-pi:/opt/iobroker# cd node_modules/iobroker.hmm/node_modules root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# curl -o master.zip https://codeload.github.com/hobbyquaker ... zip/master % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 21 100 21 0 0 33 0 --:--:-- --:--:-- --:--:-- 46 curl: (6) Couldn't resolve host '...' curl: (6) Couldn't resolve host 'zip' root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# unzip master.zip Archive: master.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of master.zip or master.zip.zip, and cannot find master.zip.ZIP, period. root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# rm master.zip root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# mv homematic-manager-master homematicmanager mv: Aufruf von stat für „homematic-manager-master“ nicht möglich: Datei oder Verzeichnis nicht gefunden root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# cd homematicmanager -bash: cd: homematicmanager: Datei oder Verzeichnis nicht gefunden root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# npm install npm WARN package.json iobroker.hmm@0.0.6 No repository field. root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules#
sagt dir das was?
-
Ja, die URL ist falsch.
Kopiere sie dir bitte mit "rechter Maustaste | Copy Link (oder was auch immer).
Wenn du den Text so kopierst, kopiert er die URL mit …
-
danke, ich bin ja blind :oops:
das hätte ich ja nu wirklich selbst sehen können.
Gruß
Rainer
-
Kein Problem, ich bin leider schon "Betriebsblind"…
Gesendet von meinem iPhone mit Tapatalk
-
Hallo Husky (Versteckt?)
CHAPEAU!
Steve
-
Cool, gleich auf Anhieb?
Na dann werde ich mal Doku schreiben gehen!
Gesendet von meinem iPhone mit Tapatalk
-
Hat alles geklappt, aber…...
Der Port mit :8080 ist vielleicht nicht sinnvoll, wenn noch etwas anderes auf dem RasPi laufen soll.
So sieht es beim Reiter "Adapter aus".ich nehme an, dass die fehenden Infos kommen, wenn der Adapter im offizielen repository (und im admin) enthalten ist.
Super Arbeit
Gruß
Rainer
-
Hallo Husky,
würde es Sinn machen es (die Doku) in unser ioBroker Github Wiki einzufügen?
BTW, werde gleich mal den Debugger anschmeissen um des Pudels Kern …äh HMM Kern anzusehen.
Steve