FHEM > Automatisierung

FHEMSync (Alternative zu FHEM2FHEM/RFHEM)

(1/59) > >>

dominik:
Hallo,

ich habe seit ein paar Tagen 2 FHEM RPis am Laufen, da ich den 2. RPi zur "Reichweitenerhöhung" für Bluetoothgeräte benötige. Nun habe ich mit FHEM2FHEM versucht die Geräte des "Remote FHEM" in meine Hauptinstallation zu bekommen, das hat leider nicht zu dem Ergebnis geführt das ich wollte. Daher habe ich entschieden ein eigenes Modul dafür zu schreiben.

Folgende Funktionen werden von FHEMSync abgedeckt:
 - FHEM Devices werden von einer Remote FHEM Instanz in die FHEM Master Instanz synchronisiert
 - Reading Updates werden automatisch gemacht
 - Commands können aus den FHEM Master direkt an die Remote FHEM Instanz geschickt werden
 - Attribute und Internals werden ebenfalls vom Remote Device übertragen (außer "room", da das keinen Sinn machen würde)
 - Das Device wird daher 1:1 dargestellt, einziger Unterschied ist der TYPE des Devices

Wie erfolgt die Einrichtung von FHEMSync?
Begriffsdefinition:
 - Master FHEM: FHEM Instanz wo die Devices hin synchronisiert werden sollen
 - Remote FHEM: FHEM Instanz von wo die Devices zu Master synchronisiert werden sollen
Installation:
Master
 - Sofern noch kein node am Master installiert, muss noch folgendes ausgefuehrt werden:

--- Code: ---$ curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
$ sudo apt install -y nodejs
--- Ende Code ---
- 10_FHEMSYNC ins FHEM Verzeichnis kopieren und reload 10_FHEMSYNC ausführen
 - 10_FHEMSYNC_DEVICE ins FHEM Verzeichnis kopieren und reload 10_FHEMSYNC_DEVICE ausführen
 - sudo npm install -g fhemsync
 - In der Haupt-FHEM Instanz:
     - define fhemsync FHEMSYNC
     - attr fhemsync remote-server IP-VON-REMOTE-FHEM
     - Folgende weitere remote-* Attribute koennen gesetzt werden wenn diese von Default abweichen, default:
            server: MUSS GESETZT WERDEN
            port: 8083
            webname: fhem
            filter: room=FHEMSync
            auth: ""
            ssl: false,
            selfsignedcert: false
     - FHEMSync-* Werte definieren den Zugriff auf die Master Instanz, default:
            server: 127.0.0.1
            port: 8083
            webname: fhem
            auth: ""
            ssl: false,
            selfsignedcert: false
Remote
 - In der Remote-FHEM Instanz einen Raum FHEMSync erstellen wo die zu synchronisierenden Devices hinterlegt werden müssen

Der Rest läuft vollautomatisch.
Logfile ist im Logverzeichnis mit dem Namen fhemsync-YYYY-MM-DD.log zu finden.

Changelog
 - v0.9.9
Fix uninitialized value
 - v0.9.8
Fix some attr sync issues (fhemsync v2.7.2 required)
 - v0.9.7
Bugfixes
 - v0.9.6
Sync Attributes from Master to Slave
 - v0.9.5
Get working now
 - v0.9.4
Fix key=value parameters in set commands
 - v0.9.3
Bugfixes
 - v0.9.1
Support up to 5 remote FHEMs (untested, bitte um Feedback)
Fix get (untested, bitte um Feedback)
 - v0.9.0
Support Get (erfordert fhemsync v2.1.0)

Aktuelle Einschränkungen die in den nächsten Tagen behoben werden:
- Readings/Attribute die gelöscht werden, werden in der Hauptinstanz nicht gelöscht
 - Authentifizierung (falls bei FHEM WEB genutzt) wird noch nicht unterstützt
 - Commandref ist noch nicht korrekt
 - Der Name des Devices wird 1:1 aus dem Remote FHEM übernommen und darf nicht geändert werden
 
Wer es ausprobieren möchte, anbei die beiden Files. Bitte um Feedback.
Wenn alles funktioniert, werde ich das Modul auch ins offizielle Repository einspielen.

Gruß,
Dominik

marvin78:
Hey dominik,

ich habe mir das Modul nicht angeschaut. Aber wenn es das macht, was es machen soll, wäre es nicht in einem anderen Unterforum (Automatisierung oder Sonstiges!?)  besser aufgehoben? Hier schauen in der Regel ja nur die Entwickler rein.

CoolTux:
Was ich nicht ganz verstehe, wieso muss da noch was mittels npm installiert werden? Ich finde eine solche Abhängigkeit schon riesig. Gerade für so eine kleine Funktion der Synchronisierung.


Grüße

dominik:
Danke für den Hinweis wegen Unterforum, ich werde es in Automatisierung verschieben.

@CoolTux, weil ich in NodeJS aus gassistant schon so gut wie alle Funktionalitäten parat hatte. Generell bin ich in NodeJS auch schneller als in Perl, daher bevorzuge ich das. Ich denke die meisten haben aufgrund von Alexa oder Google Assistant sowieso schon npm installiert und daher ist die Installation wahrscheinlich nur eine Kleinigkeit.

Wzut:

--- Zitat von: dominik am 19 März 2020, 07:50:41 ---Ich denke die meisten haben aufgrund von Alexa oder Google Assistant sowieso schon npm installiert
--- Ende Zitat ---
das glaube ich kaum wenn man den FHEM Stats Glauben schenkt ....

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln