Superrollo GW60 mit Funkmodul ZB40 in FHEM einbinden

Begonnen von Thomas_U, 04 Dezember 2013, 07:32:45

Vorheriges Thema - Nächstes Thema

thburkhart

ich habe inzwischen ein Kästchen von Tomte über IO-Broker und OnOFF-App prima am Laufen :-)

Wie kann ich denn eine Zeitsteuerung realisieren ?

VG Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

thburkhart

#61
hallo zusammen,
dank Tomte kann ich nun mit einer umgebauten/ergänzten FB Rolläden per MQTT/IOBROKER steuern.

Es gibt nur ein Problem, das zum Verärgerung mit meiner Frau führte ;-)

Gestern Punkt 22:06 gingen plötzlich alle 3 Rollladen im Wohnzimmer wieder hoch.

Im Log des IOBroker fand ich folgendes:

2020-09-27 04:06:10.817 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] reconnected. Old secret 1601150765573_8712. New secret 1601172370815_9407
2020-09-27 04:06:10.869 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^ZB40_GATEWAY3\..*/
2020-09-27 04:06:10.872 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^mqtt\.0\.ZB40_GATEWAY3\..*/
2020-09-27 04:06:10.873 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] publishOnSubscribe send all known states


2020-09-27 10:06:34.924 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] connection closed: timeout
2020-09-27 10:06:38.175 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] connected with secret 1601193998173_479
2020-09-27 10:06:38.222 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^ZB40_GATEWAY3\..*/
2020-09-27 10:06:38.224 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^mqtt\.0\.ZB40_GATEWAY3\..*/
2020-09-27 10:06:38.226 - info: mqtt.0 (1379) Client [ZB40_GATEWAY3] publishOnSubscribe send all known states


Sieht so aus, als ob sich diese Ereignisse fast exakt alle 4 h wiederholen.

mqtt.0 2020-09-27 16:22:52.889 info (1436) Client [ZB40_GATEWAY3] publishOnSubscribe send all known states
mqtt.0 2020-09-27 16:22:52.888 info (1436) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^mqtt\.0\.ZB40_GATEWAY3\..*/
mqtt.0 2020-09-27 16:22:52.887 info (1436) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^ZB40_GATEWAY3\..*/
mqtt.0 2020-09-27 16:22:52.821 info (1436) Client [ZB40_GATEWAY3] connected with secret 1601216572811_6173
mqtt.0 2020-09-27 16:22:50.782 info (1436) Client [ZB40_GATEWAY3] connection closed: timeout
cloud.0 2020-09-27 16:22:48.361 info (1455) Connection lost
cloud.0 2020-09-27 16:22:48.360 info (1455) Connection changed: Ping timeout
cloud.0 2020-09-27 16:22:48.313 error (1455) Ping timeout
info.0 2020-09-27 15:59:08.026 info (1414) Popup news was read...
info.0 2020-09-27 15:29:08.034 info (1414) Popup news was read...
cloud.0 2020-09-27 15:13:13.293 info (1455) Connection not changed: was connected
cloud.0 2020-09-27 15:13:13.216 info (1455) Connection changed: connect
cloud.0 2020-09-27 15:13:13.096 info (1455) Trying to connect as system.user.admin
cloud.0 2020-09-27 15:12:46.155 error (1455) Error while connecting to cloud: Error: websocket error
cloud.0 2020-09-27 15:12:23.088 error (1455) Error while connecting to cloud: Error: websocket error
cloud.0 2020-09-27 15:12:13.099 info (1455) Trying to connect as system.user.admin
cloud.0 2020-09-27 15:11:23.088 error (1455) Error while connecting to cloud: Error: websocket error


Der Cloud-Error dürfte nicht relevant sein ?

Könnte es sein, dass solche Ereignisse (timeout und neuerlicher connect) das unerwünschte Hochfahren der Rolladen bewirken; natürlich nur, wenn sie bereits unten sind.
Hat jemand dafür eine Erklärung und auch ein "Gegenmittel" ?

Bin für jeden Hinweis dankbar.

Beste Grüße

Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

thburkhart

und prompt ist es leider pünktlich (genau 24h später) wieder passiert:

2020-09-27 22:06:45.919 - info: mqtt.0 (1436) Client [ZB40_GATEWAY3] reconnected. Old secret 1601216572811_6173. New secret 1601237205916_3613
2020-09-27 22:06:45.947 - info: mqtt.0 (1436) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^ZB40_GATEWAY3\..*/
2020-09-27 22:06:45.948 - info: mqtt.0 (1436) Client [ZB40_GATEWAY3] subscribes on "/ZB40_GATEWAY3/#" with regex /^mqtt\.0\.ZB40_GATEWAY3\..*/
2020-09-27 22:06:45.949 - info: mqtt.0 (1436) Client [ZB40_GATEWAY3] publishOnSubscribe send all known states
2020-09-27 22:07:53.441 - info: mqtt.0 (1436) Client [ZB40_GATEWAY3] connection closed: timeout

Es ist somit eindeutig, dass dieses Ereignis im Log mit dem Wiederhochfahren aller Rollladen zusammenhängt.
Die Frage ist wohl, woher der auslösende timeout kommt.
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

thburkhart

inzwischen passiert das ganz unregelmäßig so alle 2 Tage; dann fahren entweder alle Rollläden runter oder hoch

Ideen woran das liegen könnten?

1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

thburkhart

wenn ich es richtig verstanden habe, sind bei der Lösung mittels ESP die ZB40' eben nicht in FHEM eingebunden ?

auf welchen Wegen kriege ich die genau z.B. von IOBroker in FHEM  und /oder ALEXA?

beste Grüße und vielen Dank

Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

Tomte

zu oben, doch, per mqtt bekommst Du die ZB40 auch direkt in FHEM.

Ich habe das repo oben "geforked":
https://github.com/emmrichd/esp8266_zb40_mqtt_gateway

Damit hoffe ich 2 Probleme gelöst zu haben:
- Kein hoch- oder runterfahren mehr beim booten des NodeMCU (Pins benutzt, die "low" beim booten sind).
Die Fernbedienung ist weiterhin nutzbar.

Viel Spaß, Tomte

thburkhart

#66
Zitat von: Tomte am 05 November 2020, 21:58:56
zu oben, doch, per mqtt bekommst Du die ZB40 auch direkt in FHEM.


ok gut ich brauche also den FHEM MQTT-Client? (um auf den ioBroker-Server zuzugreifen)

könnte jemand entsprechende Code-(Beispiele) hier posten?

besten Dank

Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

eckonator

#67
Hi zusammen, hat schon jemand die Nachfolgerfernbedienung ZB60 geöffnet und verdrahtet, damit diese über eine Wemos D1 Mini steuerbar ist? Ich traue mich ohne Anleitung nicht an den Umbau und finde nichts dazu im Netz. Der Aufbau ist ja bisschen anders als der der ZB40. Freue mich über Hilfe, am liebsten mit Bildern 🤗
FHEM 6.2 | PiHole | MagicMirror2 | Fritz!Box 7590 (Basis) + 3x Fritz!Box 4040 (IP-Client) | Amazon DOT | HomeBridge | Max!Cube (geflasht) + Max Komponenten | Harmony Hub | YeeLight Bulbs | G-Homa und Fritz!DECT Steckdosen

eckonator

#68
Okay, meine GW60 sind nun auch sauber in FHEM integriert. Meine Lösung stelle ich euch hier gerne vor.

Wie schon im vorherigen Post geschrieben, habe ich die Fernbedienung ZB60, die allerdings den gleichen Chip HCS361 wie das Vorgängermodell ZB40 besitzt, man kann also auch die 4 Kabel direkt an den HCS361 anlöten analog wie das Beispiel am Anfang diesen Themas.

Ich habe mich für die Kombination ZB40 + ESP8266 hardwareseitig entschieden.
Softwareseitig habe ich auf den ESP das ESPEasy aufgespielt, welches ich aus FHEM raus via HTTP-Request anspreche.

Mit meiner Lösung kann ich meine Rollos vollumfänglich via FHEM, HomeKit und Alexa steuern.

Nachfolgend meiner Config:

FHEM

# Wohnzimmer Rollo 1
define Wohnzimmer_Rollo_1 dummy
attr Wohnzimmer_Rollo_1 alexaName Rollo 1 im Wohnzimmer
attr Wohnzimmer_Rollo_1 alias Rollo 1
attr Wohnzimmer_Rollo_1 alexaRoom Wohnzimmer
attr Wohnzimmer_Rollo_1 cmdIcon up:fts_shutter_up down:fts_shutter_down stop:fts_shutter_manual
attr Wohnzimmer_Rollo_1 devStateIcon ope.*:fts_shutter_20:close clos.*:fts_shutter_80:open
attr Wohnzimmer_Rollo_1 event-on-update-reading .*
attr Wohnzimmer_Rollo_1 eventMap down:close up:open
attr Wohnzimmer_Rollo_1 genericDeviceType blind
attr Wohnzimmer_Rollo_1 group Rollos
attr Wohnzimmer_Rollo_1 homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:down;;50:stop;;100:up
attr Wohnzimmer_Rollo_1 room 90_System_Alexa,90_System_Homekit,20_EG_Wohnzimmer
attr Wohnzimmer_Rollo_1 userReadings userposition {(ReadingsVal($NAME,"state","up") eq "up")?100:(ReadingsVal($NAME,"state","down") eq "down")?0:(ReadingsVal($NAME,"state","stop") eq "stop")?50:(ReadingsVal($NAME,"state","openedAll") eq "openedAll")?100:(ReadingsVal($NAME,"state","closedAll") eq "closedAll")?0:(ReadingsVal($NAME,"state","stopAll") eq "stopAll")?50:100}
attr Wohnzimmer_Rollo_1 webCmd up:down:stop

# Wohnzimmer Rollo 1 - Logik auf
define Wohnzimmer_Rollo_1_up_Notify notify Wohnzimmer_Rollo_1:up { GetHttpFile("192.168.178.22:80", "/control?cmd=event,einsauf") }
attr Wohnzimmer_Rollo_1_up_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_1_up_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 1 - Logik zu
define Wohnzimmer_Rollo_1_down_Notify notify Wohnzimmer_Rollo_1:down { GetHttpFile("192.168.178.22:80", "/control?cmd=event,einszu") }
attr Wohnzimmer_Rollo_1_down_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_1_down_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 1 - Logik stop
define Wohnzimmer_Rollo_1_stop_Notify notify Wohnzimmer_Rollo_1:stop { GetHttpFile("192.168.178.22:80", "/control?cmd=event,einsstop") }
attr Wohnzimmer_Rollo_1_stop_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_1_stop_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 2
define Wohnzimmer_Rollo_2 dummy
attr Wohnzimmer_Rollo_2 alexaName Rollo 2 im Wohnzimmer
attr Wohnzimmer_Rollo_2 alias Rollo 2
attr Wohnzimmer_Rollo_2 alexaRoom Wohnzimmer
attr Wohnzimmer_Rollo_2 cmdIcon up:fts_shutter_up down:fts_shutter_down stop:fts_shutter_manual
attr Wohnzimmer_Rollo_2 devStateIcon ope.*:fts_shutter_20:close clos.*:fts_shutter_80:open
attr Wohnzimmer_Rollo_2 event-on-update-reading .*
attr Wohnzimmer_Rollo_2 eventMap down:close up:open
attr Wohnzimmer_Rollo_2 genericDeviceType blind
attr Wohnzimmer_Rollo_2 group Rollos
attr Wohnzimmer_Rollo_2 homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:down;;50:stop;;100:up
attr Wohnzimmer_Rollo_2 room 90_System_Alexa,90_System_Homekit,20_EG_Wohnzimmer
attr Wohnzimmer_Rollo_2 userReadings userposition {(ReadingsVal($NAME,"state","up") eq "up")?100:(ReadingsVal($NAME,"state","down") eq "down")?0:(ReadingsVal($NAME,"state","stop") eq "stop")?50:(ReadingsVal($NAME,"state","openedAll") eq "openedAll")?100:(ReadingsVal($NAME,"state","closedAll") eq "closedAll")?0:(ReadingsVal($NAME,"state","stopAll") eq "stopAll")?50:100}
attr Wohnzimmer_Rollo_2 webCmd up:down:stop

# Wohnzimmer Rollo 2 - Logik auf
define Wohnzimmer_Rollo_2_up_Notify notify Wohnzimmer_Rollo_2:up { GetHttpFile("192.168.178.22:80", "/control?cmd=event,zweiauf") }
attr Wohnzimmer_Rollo_2_up_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_2_up_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 2 - Logik zu
define Wohnzimmer_Rollo_2_down_Notify notify Wohnzimmer_Rollo_2:down { GetHttpFile("192.168.178.22:80", "/control?cmd=event,zweizu") }
attr Wohnzimmer_Rollo_2_down_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_2_down_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 2 - Logik stop
define Wohnzimmer_Rollo_2_stop_Notify notify Wohnzimmer_Rollo_2:stop { GetHttpFile("192.168.178.22:80", "/control?cmd=event,zweistop") }
attr Wohnzimmer_Rollo_2_stop_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_2_stop_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 3
define Wohnzimmer_Rollo_3 dummy
attr Wohnzimmer_Rollo_3 alexaName Rollo 3 im Wohnzimmer
attr Wohnzimmer_Rollo_3 alias Rollo 3
attr Wohnzimmer_Rollo_3 alexaRoom Wohnzimmer
attr Wohnzimmer_Rollo_3 cmdIcon up:fts_shutter_up down:fts_shutter_down stop:fts_shutter_manual
attr Wohnzimmer_Rollo_3 devStateIcon ope.*:fts_shutter_20:close clos.*:fts_shutter_80:open
attr Wohnzimmer_Rollo_3 event-on-update-reading .*
attr Wohnzimmer_Rollo_3 eventMap down:close up:open
attr Wohnzimmer_Rollo_3 genericDeviceType blind
attr Wohnzimmer_Rollo_3 group Rollos
attr Wohnzimmer_Rollo_3 homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:down;;50:stop;;100:up
attr Wohnzimmer_Rollo_3 room 90_System_Alexa,90_System_Homekit,20_EG_Wohnzimmer
attr Wohnzimmer_Rollo_3 userReadings userposition {(ReadingsVal($NAME,"state","up") eq "up")?100:(ReadingsVal($NAME,"state","down") eq "down")?0:(ReadingsVal($NAME,"state","stop") eq "stop")?50:(ReadingsVal($NAME,"state","openedAll") eq "openedAll")?100:(ReadingsVal($NAME,"state","closedAll") eq "closedAll")?0:(ReadingsVal($NAME,"state","stopAll") eq "stopAll")?50:100}
attr Wohnzimmer_Rollo_3 webCmd up:down:stop

# Wohnzimmer Rollo 3 - Logik auf
define Wohnzimmer_Rollo_3_up_Notify notify Wohnzimmer_Rollo_3:up { GetHttpFile("192.168.178.22:80", "/control?cmd=event,dreiauf") }
attr Wohnzimmer_Rollo_3_up_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_3_up_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 3 - Logik zu
define Wohnzimmer_Rollo_3_down_Notify notify Wohnzimmer_Rollo_3:down { GetHttpFile("192.168.178.22:80", "/control?cmd=event,dreizu") }
attr Wohnzimmer_Rollo_3_down_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_3_down_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo 3 - Logik stop
define Wohnzimmer_Rollo_3_stop_Notify notify Wohnzimmer_Rollo_3:stop { GetHttpFile("192.168.178.22:80", "/control?cmd=event,dreistop") }
attr Wohnzimmer_Rollo_3_stop_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_3_stop_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo Alle
define Wohnzimmer_Rollo_Alle dummy
attr Wohnzimmer_Rollo_Alle alexaName Rollo komplett im Wohnzimmer
attr Wohnzimmer_Rollo_Alle alias Rollo komplett
attr Wohnzimmer_Rollo_Alle alexaRoom Wohnzimmer
attr Wohnzimmer_Rollo_Alle cmdIcon up:fts_shutter_up down:fts_shutter_down stop:fts_shutter_manual
attr Wohnzimmer_Rollo_Alle devStateIcon ope.*:fts_shutter_20:close clos.*:fts_shutter_80:open
attr Wohnzimmer_Rollo_Alle event-on-update-reading .*
attr Wohnzimmer_Rollo_Alle eventMap down:close up:open
attr Wohnzimmer_Rollo_Alle genericDeviceType blind
attr Wohnzimmer_Rollo_Alle group Rollos
attr Wohnzimmer_Rollo_Alle homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:down;;50:stop;;100:up
attr Wohnzimmer_Rollo_Alle room 90_System_Alexa,90_System_Homekit,20_EG_Wohnzimmer
attr Wohnzimmer_Rollo_Alle userReadings userposition {(ReadingsVal($NAME,"state","up") eq "up")?100:(ReadingsVal($NAME,"state","down") eq "down")?0:(ReadingsVal($NAME,"state","stop") eq "stop")?50:(ReadingsVal($NAME,"state","openedAll") eq "openedAll")?100:(ReadingsVal($NAME,"state","closedAll") eq "closedAll")?0:(ReadingsVal($NAME,"state","stopAll") eq "stopAll")?50:100}
attr Wohnzimmer_Rollo_Alle webCmd up:down:stop

# Wohnzimmer Rollo Alle - Logik auf
define Wohnzimmer_Rollo_Alle_up_Notify notify Wohnzimmer_Rollo_Alle:up { GetHttpFile("192.168.178.22:80", "/control?cmd=event,alleauf") };; set Wohnzimmer_Rollo_1 openedAll;; set Wohnzimmer_Rollo_2 openedAll;; set Wohnzimmer_Rollo_3 openedAll
attr Wohnzimmer_Rollo_Alle_up_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_Alle_up_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo Alle - Logik zu
define Wohnzimmer_Rollo_Alle_down_Notify notify Wohnzimmer_Rollo_Alle:down { GetHttpFile("192.168.178.22:80", "/control?cmd=event,allezu") };; set Wohnzimmer_Rollo_1 closedAll;; set Wohnzimmer_Rollo_2 closedAll;; set Wohnzimmer_Rollo_3 closedAll
attr Wohnzimmer_Rollo_Alle_down_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_Alle_down_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo Alle - Logik stop
define Wohnzimmer_Rollo_Alle_stop_Notify notify Wohnzimmer_Rollo_Alle:stop { GetHttpFile("192.168.178.22:80", "/control?cmd=event,allestop") };; set Wohnzimmer_Rollo_1 stopAll;; set Wohnzimmer_Rollo_2 stopAll;; set Wohnzimmer_Rollo_3 stopAll
attr Wohnzimmer_Rollo_Alle_stop_Notify group Rollos_Logik
attr Wohnzimmer_Rollo_Alle_stop_Notify room 20_EG_Wohnzimmer

# Wohnzimmer Rollo Alle - Logik auf bei Sonnenaufgang
define Wohnzimmer_Rollos_bei_Sonnenaufgang_hoch_AT at *{sunrise(+1800,"06:30","08:30")} set Wohnzimmer_Rollo_Alle up
attr Wohnzimmer_Rollos_bei_Sonnenaufgang_hoch_AT room 20_EG_Wohnzimmer
attr Wohnzimmer_Rollos_bei_Sonnenaufgang_hoch_AT group Rollos_Logik

# Wohnzimmer Rollo Alle - Logik runter bei Sonnenuntergang
define Wohnzimmer_Rollos_bei_Sonnenaufgang_runter_AT at *{sunset(+1800,"17:30","22:30")} set Wohnzimmer_Rollo_Alle down
attr Wohnzimmer_Rollos_bei_Sonnenaufgang_runter_AT room 20_EG_Wohnzimmer
attr Wohnzimmer_Rollos_bei_Sonnenaufgang_runter_AT group Rollos_Logik


ESPeasy - alles was man tun muss, sind Rules zu aktivieren und folgende Rules ins Textfeld zu kopieren. Ich habe die GPIOs 4, 5, 12 und 13 benutzt.

On alleauf do
GPIO,13,1
Delay 500
GPIO,13,0
endon

On allezu do
GPIO,12,1
Delay 500
GPIO,12,0
endon

On allestop do
GPIO,12,1
GPIO,13,1
Delay 500
GPIO,12,0
GPIO,13,0
endon

On einsauf do
GPIO,4,1
GPIO,13,1
Delay 500
GPIO,4,0
GPIO,13,0
endon

On einszu do
GPIO,4,1
GPIO,12,1
Delay 500
GPIO,4,0
GPIO,12,0
endon

On einsstop do
GPIO,4,1
GPIO,12,1
GPIO,13,1
Delay 500
GPIO,4,0
GPIO,12,0
GPIO,13,0
endon

On zweiauf do
GPIO,5,1
GPIO,13,1
Delay 500
GPIO,5,0
GPIO,13,0
endon

On zweizu do
GPIO,5,1
GPIO,12,1
Delay 500
GPIO,5,0
GPIO,12,0
endon

On zweistop do
GPIO,5,1
GPIO,12,1
GPIO,13,1
Delay 500
GPIO,5,0
GPIO,12,0
GPIO,13,0
endon

On dreiauf do
GPIO,4,1
GPIO,5,1
GPIO,13,1
Delay 500
GPIO,4,0
GPIO,5,0
GPIO,13,0
endon

On dreizu do
GPIO,4,1
GPIO,5,1
GPIO,12,1
Delay 500
GPIO,4,0
GPIO,5,0
GPIO,12,0
endon

On dreistop do
GPIO,4,1
GPIO,5,1
GPIO,12,1
GPIO,13,1
Delay 500
GPIO,4,0
GPIO,5,0
GPIO,12,0
GPIO,13,0
endon


Die Platine der Fernbediedung ZB60 sowie der ESP8266 habe ich in ein 3D-gedrucktes Gehäuse verpackt. Das Gehäuse zum selber drucken stelle ich hier zur Verfügung:

https://www.thingiverse.com/thing:4657884

Ein paar Bilder zur Umsetzung ergänze ich diesem Post.

Es lief alles glatt durch, bis auf eine Auffälligkeit. Bei mir war die Belegung von Rollo 1 und 2 vertauscht. Ich vermute da unterscheidet sich die ZB60 von der ZB40. Dies ist in meinem Code bereits korrigiert.
FHEM 6.2 | PiHole | MagicMirror2 | Fritz!Box 7590 (Basis) + 3x Fritz!Box 4040 (IP-Client) | Amazon DOT | HomeBridge | Max!Cube (geflasht) + Max Komponenten | Harmony Hub | YeeLight Bulbs | G-Homa und Fritz!DECT Steckdosen

thburkhart

hallo eckonator,

danke für deinen Beitrag..

Wie konntest du denn die Lötverbindungen stabil realisieren ?

Herzliche Grüße

Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

eckonator

#70
Hi Thburkhart,
bzgl. Lötarbeiten hatte ich das große Glück, dass ich eine Kollegen habe der solche Fein-Lötarbeiten beruflich macht. Daher kann ich dir nur ein Foto zeigen, wie es bei mir mit so schwarzem Kabelkleber fixiert wurde. Das Ding hält bombenfest, die eigentlichen Lötverbindungen werden dadurch nie durch Zug oder Druck beansprucht.
FHEM 6.2 | PiHole | MagicMirror2 | Fritz!Box 7590 (Basis) + 3x Fritz!Box 4040 (IP-Client) | Amazon DOT | HomeBridge | Max!Cube (geflasht) + Max Komponenten | Harmony Hub | YeeLight Bulbs | G-Homa und Fritz!DECT Steckdosen

T0b1

Zitat von: eckonator am 18 November 2020, 20:03:31

Ich habe mich für die Kombination ZB40 + ESP8266 hardwareseitig entschieden.
Softwareseitig habe ich auf den ESP das ESPEasy aufgespielt, welches ich aus FHEM raus via HTTP-Request anspreche.


Hallo eckonator,

kannst du mir sagen welchen ESP8266 du genau verwendet hast?
Ich plane eine NodeMCU Lolin V3 einzusetzen und überlege ob diese in dein designtes Gehäuse passt.

Viele Grüße
Tobias

eckonator

Der sieht genauso aus wie meiner, wird also passen. Poste ein Foto wenn es fertig ist, würde mich freuen :-)
FHEM 6.2 | PiHole | MagicMirror2 | Fritz!Box 7590 (Basis) + 3x Fritz!Box 4040 (IP-Client) | Amazon DOT | HomeBridge | Max!Cube (geflasht) + Max Komponenten | Harmony Hub | YeeLight Bulbs | G-Homa und Fritz!DECT Steckdosen

Tomte

Hallo eckonator,
ich habe es soweit mit ESP Easy hinbekommen. Allerdings würde ich gerne auch MQTT nutzen, das sollte ja mit ESP Easy auch gehen.
Also habe ich als Controller den "Home Assistant (openhab) MQTT" Controller aktiviert, aber ich schaffe es nicht, das event per MQTT auszulösen.
Ich sende per MQTT.fx
ESPEasy_ZB40/cmd event,alleauf
aber es tut sich nichts. Ich habe schon alle möglichen Varianten getestet - nichts.

Weißt Du zufällig, wo das Problem liegt?

Viele Grüße, Tomte

eckonator

Hi, mit MQTT kenne ich mich leider 0 aus. Aber zum debuggen würde ich als erster fragen, ob die Steuerung denn grundlegen funktioniert, wenn du den Command direkt auf den ESP triggerst:

http://IP-DEINES-ESP/control?cmd=event,alleauf

Passiert da was wenn du das so in deinen Browser eingibst?
FHEM 6.2 | PiHole | MagicMirror2 | Fritz!Box 7590 (Basis) + 3x Fritz!Box 4040 (IP-Client) | Amazon DOT | HomeBridge | Max!Cube (geflasht) + Max Komponenten | Harmony Hub | YeeLight Bulbs | G-Homa und Fritz!DECT Steckdosen