kdietrich / homebridge-devolo

WARNING: this repo is not maintained anymore. Homebridge plugin for Devolo Home Control
16 stars 4 forks source link

New device Fibaro Roller Shutter 2 (FGR-222) #63

Closed gwi2014 closed 4 years ago

gwi2014 commented 4 years ago

Hi, first of all thank you very much for this project.

I have 2 Fibaro FGR-222 (https://manuals.fibaro.com/roller-shutter-2/) installed and they seem unknown to homebridge-devolo yet:

Device > Rolladen Links < is not supported (yet) or devolo has something changed.  Open an issue on github and ask for adding it.
 > Model: unk.model.Unknown:Device
 > ProductID: 0x1001
 > ProductTypeID: 0x0301
 > Sensors: [
   'devolo.BinarySwitch:hdm:ZWave:E5101376/22',
   'devolo.MultiLevelSwitch:hdm:ZWave:E5101376/22',
   'devolo.MultiLevelSensor:hdm:ZWave:E5101376/22',
   'devolo.Meter:hdm:ZWave:E5101376/22'
 ]

Best regards, Guido

nicoh88 commented 4 years ago

Hi Guido,

ich habe den Fibaro Roller Shutter 2 (FGR-222) mal mit in die node-devolo API aufgenommen und homebridge-devolo aktualisiert.

Wenn ich mir die Sensoren anschaue, habe ich das Gefühl, dass die Fibaro nicht wie die Devolo / Qubino funktionieren... wenn dem so ist, wäre eine Unterstützung der Fibaro Roller Shutter 2 (FGR-222) ein größerer Aufwand.

Bitte mal die 0.1.16-dev testen.

sudo su -
npm install kdietrich/homebridge-devolo#master -g --unsafe-perm

Viele Grüße

gwi2014 commented 4 years ago

Hi Nico, das scheint leider nicht zu funktionieren:

[2020-1-8 22:05:38] [Devolo] Initializing platform accessory 'Rolladen Rechts'...
[2020-1-8 22:05:38] Error: Device has no suitable sensor.
    at ShutterDevice.Device.getValue (/usr/lib/node_modules/homebridge-devolo/node_modules/node-devolo/dist/DevoloDevice.js:173:23)
    at HBDevoloShutterDevice.getServices (/usr/lib/node_modules/homebridge-devolo/dist/devices/HBDevoloShutterDevice.js:88:53)
    at Server._createAccessory (/usr/lib/node_modules/homebridge/lib/server.js:427:36)
    at Server.<anonymous> (/usr/lib/node_modules/homebridge/lib/server.js:413:32)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:16:19
    at /usr/lib/node_modules/homebridge-devolo/dist/index.js:71:17
    at /usr/lib/node_modules/homebridge-devolo/dist/HBDevoloCentralUnit.js:54:13
    at /usr/lib/node_modules/homebridge-devolo/dist/HBDevoloCentralUnit.js:167:21
    at /usr/lib/node_modules/homebridge-devolo/node_modules/node-devolo/dist/Devolo.js:404:29
    at Array.forEach (<anonymous>)
[2020-1-8 22:05:38] Got SIGTERM, shutting down Homebridge...

Viele Grüße, Guido

nicoh88 commented 4 years ago

Hi Guido,

ich dachte es mir schon. Ohne Testgerät, werde ich die FGR-222 / FGR-223 nicht unterstützen können. 👎

Sorry

gwi2014 commented 4 years ago

Hi Nico, kannst Du grob beschreiben was zu tun wäre? Ich vermute die Sensoren müssen irgendwie in node-devolo eingebaut werden. Mit TypeScript habe ich keine Erfahrung, kann es aber halbwegs lesen. Was nimmt man da am besten als IDE? Visual Studio Code?

Danke, Guido

nicoh88 commented 4 years ago

Nutze keine IDE, mache alles in Sublime Text 3 auf dem Mac. Die TypeScript Dateien werden bearbeitet, dann werden mit tsc (Kommando im Terminal) die JavaScript Dateien erstellt, Fertig.

Ich habe das Projekt auch nur übernommen - programmieren ist auch nicht meine Leidenschaft. 😢


Am Beispiel "Popp Z-Weather" kann ich es grob erklären, das habe ich mal komplett alleine implementiert:

Commit - node-devolo - Added Popp Z-Weather: Kleinigkeit, hier muss nur definiert werden, dass der Fibaro Roller Shutter nicht wie von mir gestern hinzugefügt, als Devolo Shutter an homebridge-devolo übergeben wird, sondern als Fibaro Shutter.

Commit - homebridge-devolo - Added Popp Z-Weather: Hier steckt die ganze Logik! Man muss quasi unter src/devices/ eine HBFibaroRollerShutter.ts anlegen die Logik erstellen und debuggen, debuggen, debuggen. In der HBDevoloCentralUnit.ts verlinkt man das Geräte aus node-devolo dann nur noch mit der neuen Logik. Der Rest sind Kleinigkeiten.

Das war mal ein grober Abriss. 🤣

Im ersten Schritt ist aber ein komplettes deviceDebugging deiner Umgebung notwendig um die Sensoren und deren Optionen des E5101376/22 zu kennen: https://github.com/kdietrich/homebridge-devolo#support-of-new-devices

Gruß Nico

gwi2014 commented 4 years ago

Danke - ich werde mir das mal anschauen.

Ein Frage habe ich gleich. Sind die UUIDs für die Characteristics irgendwo definiert:

 Characteristic.WindSpeed.UUID = '00000020-0000-0000-0000-199207310822';

oder legt man die einfach selber fest?

nicoh88 commented 4 years ago

Ein Frage habe ich gleich. Sind die UUIDs für die Characteristics irgendwo definiert:

 Characteristic.WindSpeed.UUID = '00000020-0000-0000-0000-199207310822';

oder legt man die einfach selber fest?

Es gibt Standard-Homekit-Characteristics, zusätzliche Elgato-Eve-Characteristics und welche die man selber anlegen muss/kann.

Standard-Homekit-Characteristics werden in der Apple Home App angezeigt - Elgato-Eve-Characteristics und eigene Characteristics nicht. In Elgato-Eve und anderen HomeKit Apps werden in den Regel alle Characteristics angezeigt.

Wenn du den Fibaro Roller Shutter implentieren möchtest, wirst du keine zusätzlichen Characteristics anlegen müssen.

Viele Grüße

gwi2014 commented 4 years ago

Status: Bin dran, funktioniert aber noch nicht wie es soll.

gwi2014 commented 4 years ago

Hi Nico, ich habe wie beim letzten Mal einen PR in kdietrich/node-devolo erstellt. Wenn du den gemerged hast, dann erstelle ich den den nächsten PR hier.

Danke, Guido

gwi2014 commented 4 years ago

Danke für das Mergen.

Macht es Sinn jetzt eine Version 0.1.18 (ohne dev) zu erstellen und die dann auf npmjs.com zu schieben?

Sent with GitHawk

nicoh88 commented 4 years ago

@gwi2014: Ja, das macht sehr viel Sinn!

Soweit funktioniert bei dir alles? Wenn ja, installiere ich mal die aktuelle #master bei mir, teste 2 Tage und veröffentliche dann die 0.1.18.

Gruß Nico

gwi2014 commented 4 years ago

Soweit funktioniert bei dir alles? Wenn ja, installiere ich mal die aktuelle #master bei mir, teste 2 Tage und veröffentliche dann die 0.1.18.

Bei mir läuft es seit 2 Tage ohne Absturz. Das was geht bzw. nicht geht, hatte ich ja im Changelog beschrieben. Ich glaube nicht, dass sich das ohne Hilfe von Develo fixen lässt.

Von meiner Seite spricht nichts gegen ein Release.

Viele Grüße, Guido

nicoh88 commented 4 years ago

Perfekt!!

Successfully published homebridge-devolo@0.1.16 (Versions History)

Nach einem Homebridge-Neustart:

Jan 31 12:34:54 frida homebridge[23012]: [2020-1-31 12:34:54] Error: socket hang up
Jan 31 12:34:54 frida homebridge[23012]:     at connResetException (internal/errors.js:570:14)
Jan 31 12:34:54 frida homebridge[23012]:     at Socket.socketCloseListener (_http_client.js:380:25)
Jan 31 12:34:54 frida homebridge[23012]:     at Socket.emit (events.js:215:7)
Jan 31 12:34:54 frida homebridge[23012]:     at TCP.<anonymous> (net.js:658:12)

Komisch... Devolo Serverwartung?

gwi2014 commented 4 years ago

Komisch... Devolo Serverwartung?

War die nicht für letzten Mittwoch angekündigt? Ich habe bei mir gerade mal neu gestartet, da fährt er sauber hoch.

nicoh88 commented 4 years ago

Ja, stimmt. Bei mir geht es immer noch nicht. Scheint vielleicht mit #22 im Zusammen zu stehen. Eigenartig ...

Ich mache dann hier zu.

DANKE FÜR DEINE ARBEIT! @gwi2014