Autor Thema: Shellenberg Funk-Rollos in FHEM mit SmartFriends oder SH1  (Gelesen 491 mal)

Offline Matze89

  • New Member
  • *
  • Beiträge: 48
NOCH IN ENTWICKLUNG! - Ich werde dies nach und nach vervollständigen.


Liebe FHEM-Community,

gerne möchte ich euch, als Dank für viele andere Lösungen, meine Lösung inkl. Anleitung mit HomeKit und Alexa-Einbindung vorstellen.
Nachdem etliche Jahre vergangen sind und etliche Anfragen zu einer Lösung hier gekommen sind, fand ich eine elegante Lösung.

Kurz Zusammengefasst, wie ich vorgehe:
Es wird eine Clientverbindung (wie von der Smartphone-App SmartFriends) zur Bridge der Shellenberg-Devices aufgebaut und durchgängig beibehalten. Befehle lassen sich lesen oder senden über MQTT, was wir wiederum in FHEM nutzen.

Shellenberg-Funk Rollo <- SmartFriends-Bridge oder SH1 <-> smart-friends-bridge-api <-> MQTT <-> Modul MQTT-Client <-> Modul ROLLO

Welche Funktionen stehen zur Verfügung:
- Shellenberg-Rollos hoch und runterfahren
- Dank ROLLO-Modul: Die Rollo-Position wird in 10%-Schritten von 0% (offen) bis 100% (geschlossen) zwischengespeichert
- Optional: Kostenlose Alexa-Einbindung und HomeKit-Einbindung

Dank geht auch an:
airthusiast - https://github.com/airthusiast/smart-friends-bridge

Was habe ich verwendet:
  • FHEM auf einem (bevorzugt) Raspberry mit Raspbian (normale Version)
  • FHEM Modul MQTT eingerichtet - https://wiki.fhem.de/wiki/MQTT
  • npm
  • SmartFriends-Bridge oder SH1 und bereits eingerichtet/konfiguriert und mit der App auf dem Smartphone verbunden
  • Shellenberg Funk-Rollo verbaut


Installation:
1. Zuerst eine SSH-Verbindung zum Raspberry als pi aufbauen und folgende Befehle ausführen:
npm install https://github.com/airthusiast/smart-friends-bridge.git2. Die Konfigurationsdatei muss jetzt angepasst werden. Hierzu bitte diese Seite besuchen und die Informationen übernehmen: - Anleitung, wo man spezielle Angaben findet
nano /home/pi/node_modules/smart-friends-bridge/config.json.sample
Zusätzlich noch die MQTT Daten für die FHEM-Verbindung eintragen:
    "mqtt": {
        "url": "mqtt://127.0.0.1",
        "username": "admin",
        "password": "admin"
    },
3. Danach speichern und umbenennen:
mv /home/pi/node_modules/smart-friends-bridge/config.json.sample /home/pi/node_modules/smart-friends-bridge/config.json
4. Jetzt einen Test ausführen
node /home/pi/node_modules/smart-friends-bridge /home/pi/node_modules/smart-friends-bridge/config.json
5. Wenn alles einwandfrei funktioniert, einen Autostart anlegen und den Prozess im Hintergrund zum laufen bringen
sudo nano /etc/systemd/system/smartfriendshome.service
Folgende Daten einfügen:
[Unit]
Description=Smart Friends Home
After=syslog.target network-online.target

[Service]
Type=simple
User=pi
EnvironmentFile=
ExecStart=node /home/pi/node_modules/smart-friends-bridge /home/pi/node_modules$

Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

6. Speichern und folgende Befehle danach ausführen:
sudo systemctl daemon-reload
sudo systemctl enable smartfriendshome
sudo systemctl start smartfriendshome
sudo systemctl status smartfriendshome

Jetzt läuft der Dienst im Hintergrund und es müsste schon eine erfolgreiche Verbindung in FHEM-MQTT vorhanden sein.

7. Das kommende Beispiel beruht auf ein Rollo im Schlafzimmer. Die folgende Device-ID lautet "14700". Device ID wird hier erklärt.
define mqtt_rollo_sz MQTT2_DEVICE
attr mqtt_rollo_sz readingList schellenberg/device/value/14700:.* cover_state
attr mqtt_rollo_sz room System
attr mqtt_rollo_sz setList up:noArg    schellenberg/device/value/update/14700 1\
stop:noArg     schellenberg/device/value/update/14700 0\
down:noArg schellenberg/device/value/update/14700 2

8. Jetzt ein Set-Befehl ausführen, ob das Device auch funktioniert:
set mqtt_rollo_sz down
set mqtt_rollo_sz up

9. Wenn alles funktioniert, dann legen wir das mächtige ROLLO-Device an, wodurch wir dann alle Möglichkeiten der perfekten Einbindung haben:
define rollo_sz ROLLO
attr rollo_sz alexaName Rollo Schlafzimmer
attr rollo_sz alias Rollo Schlafzimmer
attr rollo_sz cmdIcon closed:control_centr_arrow_down stop:audio_stop open:control_centr_arrow_up
attr rollo_sz devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop pct-100:fts_shutter_10:open pct-90:fts_shutter_10:closed pct-80:fts_shutter_20:closed pct-70:fts_shutter_30:closed pct-60:fts_shutter_40:closed pct-50:fts_shutter_50:closed pct-40:fts_shutter_60:open pct-30:fts_shutter_70:open pct-20:fts_shutter_80:open pct-10:fts_shutter_90:open pct-0:fts_shutter_100:closed
attr rollo_sz genericDeviceType blind
attr rollo_sz group Rolladen
attr rollo_sz icon fts_shutter_1w
attr rollo_sz rl_autoStop 1
attr rollo_sz rl_commandDown set mqtt_rollo_sz down
attr rollo_sz rl_commandStop set mqtt_rollo_sz stop
attr rollo_sz rl_commandUp set mqtt_rollo_sz up
attr rollo_sz rl_excessBottom 0
attr rollo_sz rl_excessTop 0
attr rollo_sz rl_secondsDown 19
attr rollo_sz rl_secondsUp 18
attr rollo_sz rl_switchTime 2
attr rollo_sz rl_type HomeKit
attr rollo_sz room Home,HomeKit,Räume->Schlafzimmer
attr rollo_sz webCmd open:closed:stop

Dieses Device ist schon für Homebridge und Alexa vorkonfiguriert und auch einsetzbar.
« Letzte Änderung: 17 Juli 2021, 11:26:46 von Matze89 »
FHEM mit RPi4 ::: SIGNALduino ::: Homebridge + homebridge-fhem ::: Zigbee = RaspBee + Hue + Paulmann + Ikea + Xiaomi ::: DECT = FritzBox 6590 + FRITZ!DECT ::: IR = Harmony ::: SIRO Akku-Rolloantrieb ::: EchoDots + alexa-fhem