SOMFY Markise MQTT

Begonnen von xsas1337, 30 September 2022, 14:39:41

Vorheriges Thema - Nächstes Thema

xsas1337

Hi,

ich bin ganz neu in FHEM und habe es geschafft meine Somfy Markise zum laufen zu bekommen:

defmod Markise SOMFY 000001
attr Markise MarkiseForward all
attr Markise devStateIcon closed:fts_shutter_100 open:fts_shutter_10 my:fts_shutter_50 attr
attr Markise eventMap on:ab off:auf go-my:my on:close off:open
attr Markise genericDeviceType blind
attr Markise homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:close;;;;50:my;;;;100:open
attr Markise icon fts_shutter_updown
attr Markise model somfyshutter
attr Markise positionInverse 1
attr Markise room Homekit,Markise
attr Markise siriName Markise
attr Markise userReadings userposition {(ReadingsVal($NAME,"state","open") eq "open")?100:(ReadingsVal($NAME,"state","open") eq "go-my")?50:0}
attr Markise webCmd auf:my:ab

setstate Markise open
setstate Markise 2022-06-01 15:42:30 IODev CUL_2
setstate Markise 2022-09-30 12:16:41 enc_key AE
setstate Markise 2022-09-30 12:18:44 exact 100
setstate Markise 2022-09-30 12:16:42 parsestate off
setstate Markise 2022-09-30 12:18:44 position 100
setstate Markise 2022-09-30 12:16:42 received 20
setstate Markise 2022-09-30 12:16:41 rolling_code 017E
setstate Markise 2022-09-30 12:18:44 state open
setstate Markise 2022-09-30 12:18:44 userposition 100



Da ich sie aber mit MQTT Steuern will erfrage ich hilfe- ich hab mir den Wiki durchgelesen aber ich werde nicht ganz schlau draus was ich jetzt für was brauch und wie ich es anbinde.

Ein Mosquitto Server steht bereit aber wie mach ich nun weiter ?

Vielen Dank für die Unterstützung

Otto123

Hi,

vielleicht meine Notiz zum einlesen?

Du hast Deine Markise jetzt als normales Device in FHEM und willst dieses von "außen" über MQTT ansteuern, also die Markise fahren lassen?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

xsas1337

Genau Otto - ich möchte sie per mqtt steuern können :)

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

xsas1337

ok super - die ersten 2 blöcke aus dem ersten post habe ich gemacht - das heist :

defmod mosquitto MQTT2_CLIENT 192.168.16.224:1883
attr mosquitto userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
attr mosquitto clientId fhem
attr mosquitto clientOrder MQTT_GENERIC_BRIDGE MQTT2_DEVICE
attr mosquitto icon mqtt
attr mosquitto ignoreRegexp cmnd/[^:"]+:|homeassistant/[^:"]+/config:|shellies/[^:"]+/command:|zigbee2mqtt/[^/]+/set:|milight/0x[0-9a-fA-F]{1,4}/.*/[0-8]:|tasmota/discovery/
attr mosquitto keepaliveTimeout 60
attr mosquitto msgAfterConnect -r fhem/connection/status connected
attr mosquitto msgBeforeDisconnect -r fhem/connection/status disconnected
attr mosquitto qosMaxQueueLength 100
attr mosquitto room MQTT
attr mosquitto subscriptions fhem/set/#
attr mosquitto username mqttadmin

setstate mosquitto opened
setstate mosquitto 2022-09-30 15:26:35 state opened


und

defmod mqttGeneric MQTT_GENERIC_BRIDGE mqtt room=MQTT
attr mqttGeneric IODev mosquitto
attr mqttGeneric icon mqtt_bridge_1
attr mqttGeneric room MQTT
attr mqttGeneric stateFormat in: incoming-count out: outgoing-count devices: device-count
attr mqttGeneric verbose 0

setstate mqttGeneric in: 0 out: 0 devices: 0
setstate mqttGeneric 2022-09-30 15:27:24 IODev mosquitto
setstate mqttGeneric 2022-09-30 15:26:35 device-count 0
setstate mqttGeneric 2022-09-30 15:26:35 incoming-count 0
setstate mqttGeneric 2022-09-30 15:26:35 outgoing-count 0
setstate mqttGeneric 2022-09-30 15:26:35 transmission-state IO device initialized (mqtt2)
setstate mqttGeneric 2022-09-30 15:26:35 updated-reading-count 0
setstate mqttGeneric 2022-09-30 15:26:35 updated-set-count 0



nun wollte ich weiter mit dem 3. block machen - wenn ich aber ein

attr Markise mqttPublish state|homekit_pos:topic={"fhem/$device/$name"}

eingebe kommt:

Markise: unknown attribute mqttPublish. Type 'attr Markise ?' for a detailed list.

Was übersehe ich hier- muss ja der Markise irgendwie sagen das sie auf ein set/state etc reagieren soll

Beta-User

Deine devspec für MGB paßt nicht, deine Markise ist nicht in dem fraglichen Raum. Also entweder am einen Ende ziehen oder am anderen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

xsas1337

ok bin wieder ein stück weiter - ich empfange was ich per fhem an der markise trigger:

SENT: fhem/Markise/state go-my
SENT: fhem/Markise/state closed
SENT: fhem/Markise/state open

Wie trigger ich nun aber von extern per mqtt ?

Beta-User

Glaskugel meint, du müßtest vielleicht mqttSubscribe setzen (mit stopic)...?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

xsas1337

sorry versteh das nicht ganz :) würdest bisschen mehr aus deiner Glaskugel erzählen :D

Markise sieht aktuell so aus:

defmod Markise SOMFY 000001
attr Markise userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
attr Markise MarkiseForward all
attr Markise devStateIcon closed:fts_shutter_100 open:fts_shutter_10 my:fts_shutter_50 attr
attr Markise eventMap on:ab off:auf go-my:my on:close off:open
attr Markise genericDeviceType blind
attr Markise homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:close;;;;50:my;;;;100:open
attr Markise icon fts_shutter_updown
attr Markise model somfyshutter
attr Markise mqttPublish state|homekit_pos:topic={"fhem/$device/$name"}
attr Markise mqttSubscribe state:stopic={"fhem/set/Markise/state"} position_homekit:stopic={"fhem/set/Markise/homekit_pos"}
attr Markise positionInverse 0
attr Markise room Homekit,MQTT,Markise
attr Markise siriName Markise
attr Markise userReadings userposition {(ReadingsVal($NAME,"state","open") eq "open")?100:(ReadingsVal($NAME,"state","open") eq "go-my")?50:0}
attr Markise webCmd auf:my:ab

setstate Markise open
setstate Markise 2022-06-01 15:42:30 IODev CUL_2
setstate Markise 2022-10-04 10:07:07 enc_key AB
setstate Markise 2022-10-04 10:07:07 exact 0
setstate Markise 2022-10-04 10:07:08 parsestate off
setstate Markise 2022-10-04 10:07:07 position 0
setstate Markise 2022-10-04 10:07:08 received 20
setstate Markise 2022-10-04 10:07:07 rolling_code 018B
setstate Markise 2022-10-04 10:07:07 state open
setstate Markise 2022-10-04 10:07:08 userposition 100



und die MGB:

defmod mqttGeneric MQTT_GENERIC_BRIDGE mqtt room=MQTT
attr mqttGeneric IODev mosquitto
attr mqttGeneric icon mqtt_bridge_1
attr mqttGeneric room MQTT
attr mqttGeneric stateFormat in: incoming-count out: outgoing-count devices: device-count
attr mqttGeneric verbose 0

setstate mqttGeneric in: 0 out: 14 devices: 1
setstate mqttGeneric 2022-10-04 08:41:20 IODev mosquitto
setstate mqttGeneric 2022-10-04 08:44:20 device-count 1
setstate mqttGeneric 2022-10-04 08:41:12 incoming-count 0
setstate mqttGeneric 2022-10-04 10:07:07 outgoing-count 14
setstate mqttGeneric 2022-10-04 10:07:07 transmission-state outgoing publish sent
setstate mqttGeneric 2022-10-04 08:41:12 updated-reading-count 0
setstate mqttGeneric 2022-10-04 08:41:12 updated-set-count 0



Vielen Dank

Beta-User

#9
Und wo genau liegt jetzt das Problem?

Sowas müßte doch jetzt klappen (vorausgesetzt, du kannst irgendwo an der Linux-Konsole ein mosquitto_pub aufrufen):
mosquitto_pub -h 192.168.16.224 -p 1883 -t fhem/set/Markise/state -m off

EDIT: Nach der commandref ist es allerdings nicht möglich, den Rollladen per position_homekit als setter zu bewegen; das müßte dann schon eher "pos" sein...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

xsas1337

#10
Das ist genau das Problem wenn ich fhem/set/Markise/state -m onmach passiert in FHEM einfach nix :(

Nutze MQTT FX und bin mit meinem mosquitto verbunden

bzw nichts stimmt nicht der MQtt2_Client bekommt ein :

RCVD: fhem/set/Markise/state -m on

aber die Markise macht nichts

Beta-User

Hmm, kenne dieses Tool nicht, aber wenn du als Payload "-m on" eingibst, ist das m.E. falsch. Das sollte nur "on" sein.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files