Hi,
ich habe dieses Konstrukt aufgebaut und ich kann die Birne steuern. Aber, ich habe noch nicht verstanden, wie ich es besser machen kann / sollte damit nicht 100 Geräte angelegt werden
MQTT2Server auf der FHEM Maschine
Internals:
CONNECTS 2
DEF 11883 global
FD 46
NAME m2s
NR 604
PORT 11883
STATE Initialized
TYPE MQTT2_SERVER
READINGS:
2019-01-07 09:28:49 RETAIN {"zigbee2mqtt/bridge/state":"online"}
2019-01-07 09:28:49 nrclients 1
2019-01-07 09:28:32 state Initialized
clients:
m2s_192.168.0.49_52744 1
retain:
zigbee2mqtt/bridge/state:
ts 1546849729.73985
val online
Attributes:
autocreate 1
zigbee2mqtt auf einer anderen raspi mit einer ikea bulb zum test an einem CC2531 USB-Stick von @Ranseyer .
Wenn ich das zigbee2mqtt neu starte oder die Lampe mal schalte oder oder, wird immer was neu angelegt:
Birne:
Internals:
DEVICETOPIC IKEA_Bulb2
IODev m2s
IODevMissing 1
IODevName MQTT2_FHEM_Server
NAME IKEA_Bulb2
NR 633
STATE brightness
TYPE MQTT2_DEVICE
READINGS:
2019-01-11 23:31:59 state brightness
Attributes:
IODev MQTT2_FHEM_Server
devStateIcon {zigbee2mqtt_devStateIcon255($name)}
icon light_control
model L_02a_zigbee2mqtt_bulb
readingList zigbee_pi:zigbee2mqtt/0x000b57fffe9a1211:.* { json2nameValue($EVENT) }
setList on:noArg zigbee2mqtt/0x000b57fffe9a1211/set {"state":"ON"}
off:noArg zigbee2mqtt/0x000b57fffe9a1211/set {"state":"OFF"}
brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/0x000b57fffe9a1211/set {"state":"on","$EVTPART0":"$EVTPART1"}
webCmd toggle:on:off:brightness
Ich bin mit meinem Latein gerade am Ende und würde mich freuen, wenn ihr es mir nochmal für DAUs erklären könntet :)
Du hast sicherlich das gut dokumemtierte Wiki (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele) zu diesem Thema übersehen.
Nein, das habe ich nicht. Aber ich konnte dort nichts finden, was mir hilft oder ich habe es falsch verstanden / gelesen.
Was meinst du genau?
Zitat von: TomLee am 16 Januar 2019, 12:59:20
Du hast sicherlich das gut dokumemtierte Wiki (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele) zu diesem Thema übersehen.
Ich glaube, er hatte das Wiki schon gefunden, er hat ja sogar meine Namen übernommen ;D .
Da steht aber deutlich zu Beginn drin, dass man eine Client-ID in der yaml vergeben sollte...
Vielleicht müßte man das in Verkehrsrot anmalen?!? Aber eigentlich gilt doch die Regel: Wenn man eine Anleitung befolgt, dann bitte vollständig!
in der yaml steht unten gelistetes - ist das falsch?
Ja ich habe deinen Namen übernommen, damit es für mich nachvollziehbar ist.
Aber irgendwas übersehe ich.
homeassistant: false
permit_join: true
mqtt:
base_topic: zigbee2mqtt server: 'mqtt://192.168.0.20:11883'
client_id: raspi5 advanced: rtscts: false
include_device_information: true
serial:
port: >-
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_$devices:
'0x000b57fffe9a1211':
friendly_name: '0x000b57fffe9a1211'
retain: false
EDIT: Fehlen da die Hochkommata?
Zitat von: masterpete23 am 16 Januar 2019, 13:15:49
EDIT: Fehlen da die Hochkommata?
...das dürfte es sein!
Und permit_join steht auch noch auf true ;) ; kann man später vom Bridge-Device aus umschalten, ist selbst bei einem CC2530 evtl. sinnvoll...
Zitat von: Beta-User am 16 Januar 2019, 13:21:21
...das dürfte es sein!
Und permit_join steht auch noch auf true ;) ; kann man später vom Bridge-Device aus umschalten, ist selbst bei einem CC2530 evtl. sinnvoll...
Danke. jetzt klappt es. Eine kleine Hürde war, dass die spaces for clientid exakt 2 sein müssen.
Merkwürkig verwirrend für den Anfang.
er hat nun automatisch diess device angelegt.
Ist es richtig, dass ich dieses zu bridge mache?
wie? so: set MQTT2_RASPI5 attrTemplate zigbee2mqtt_bridge ?
Internals:
CFGFN
CID RASPI5
DEF RASPI5
DEVICETOPIC MQTT2_RASPI5
IODev m2s
NAME MQTT2_RASPI5
NR 64866
STATE ON
TYPE MQTT2_DEVICE
READINGS:
2019-01-17 07:26:38 brightness 30
2019-01-17 07:26:38 state ON
Attributes:
IODev m2s
readingList RASPI5:zigbee2mqtt/bridge/state:.* state
RASPI5:zigbee2mqtt/0x000b57fffe9a1211:.* { json2nameValue($EVENT, '', $JSONMAP) }
room MQTT2_DEVICE
Ja, das Device bitte zur Bridge umfunktionieren. Aber die template-Benennung hat sich geändert.
Einfach "set <devicename> attrTemplate ?" nutzen oder in FHEMWEB auslösen, dann bekommst du eine Übersicht, welche templates verfügbar sind (es gibt zwischenzeitlich 3 Bridge-templates, 2 davon sind eigentlich überholt...)
Wenn nicht jemand schneller ist, überarbeite ich das Wiki nochmal, auch mit dem Hinweis, dass es genau 2 Leerzeichen sein müssen, das war mir auch nicht mehr gegenwärtig.
Zitat von: Beta-User am 17 Januar 2019, 07:37:45
Ja, das Device bitte zur Bridge umfunktionieren. Aber die template-Benennung hat sich geändert.
Einfach "set <devicename> attrTemplate ?" nutzen oder in FHEMWEB auslösen, dann bekommst du eine Übersicht, welche templates verfügbar sind (es gibt zwischenzeitlich 3 Bridge-templates, 2 davon sind eigentlich überholt...)
Wenn nicht jemand schneller ist, überarbeite ich das Wiki nochmal, auch mit dem Hinweis, dass es genau 2 Leerzeichen sein müssen, das war mir auch nicht mehr gegenwärtig.
Super Danke dir.
Welche Bridge sollte ich nehmen ? L01 ? ich vermute a und x sind outdated?
Wo kann ich nachlesen, was das setzen bewirkt?
Ja, das ohne Buchstabe in der Nummerierung ist "richtig", (müßte vermutlich die Beschreibung von der "a" in outdated ändern...)?
Wenn du genauer wissen willst, welche Attribute ein template setzt und was es ggf. noch tut: Quellcode, z.B. hier: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template
supi
habe ich gemacht.
Ist nun alles korrekt? mich wundert der setStateList
Internals:
CFGFN
CID RASPI5
DEF RASPI5
DEVICETOPIC MQTT2_RASPI5
IODev m2s
LASTInputDev m2s
MSGCNT 4
NAME MQTT2_RASPI5
NR 64866
STATE ON
TYPE MQTT2_DEVICE
m2s_MSGCNT 4
m2s_TIME 2019-01-17 12:51:06
OLDREADINGS:
READINGS:
2019-01-17 12:51:06 devices {"type":"devices","message":[{"ieeeAddr":"0x000b57fffe9a1211","type":"Router","model":"LED1649C5","friendly_name":"0x000b57fffe9a1211"}]}
2019-01-17 12:51:06 log {"type":"devices","message":[{"ieeeAddr":"0x000b57fffe9a1211","type":"Router","model":"LED1649C5","friendly_name":"0x000b57fffe9a1211"}]}
Attributes:
IODev m2s
bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
getList devicelist:noArg log zigbee2mqtt/bridge/config/devices
networkmap_raw:noArg raw zigbee2mqtt/bridge/networkmap raw
networkmap_graphviz:noArg graphviz zigbee2mqtt/bridge/networkmap graphviz
model L_01_zigbee2mqtt_bridge
readingList zigbee2mqtt/bridge/state:.* state
zigbee2mqtt/bridge/config/devices:.* {}
zigbee2mqtt/bridge/config/log_level:.* log_level
zigbee2mqtt/bridge/config/permit_join:.* permit_join
zigbee2mqtt/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }
zigbee2mqtt/bridge/log:.*\"type\".\"devices\".\"message\".* devices
zigbee2mqtt/bridge/log:.* log
zigbee2mqtt/bridge/networkmap:.* {}
zigbee2mqtt/bridge/networkmap/graphviz:.* graphviz
zigbee2mqtt/bridge/networkmap/raw:.* raw
room MQTT2_DEVICE
setList log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
rename:textField zigbee2mqtt/bridge/config/rename {"old":"$EVTPART1","new":"$EVTPART2"}
setStateList on off
Auch wurde nach schalten meiner Ikea bulb
Internals:
DEVICETOPIC IKEA_Bulb2
IODev m2s
IODevName MQTT2_FHEM_Server
NAME IKEA_Bulb2
NR 610
STATE on
TYPE MQTT2_DEVICE
READINGS:
2019-01-17 12:52:41 state on
Attributes:
IODev MQTT2_FHEM_Server
devStateIcon {zigbee2mqtt_devStateIcon255($name)}
icon light_control
imageLink https://koenkk.github.io/zigbee2mqtt/images/devices/LED1649C5.jpg
model L_02a_zigbee2mqtt_bulb
readingList zigbee_pi:zigbee2mqtt/0x000b57fffe9a1211:.* { json2nameValue($EVENT) }
room Wohnzimmer
setList on:noArg zigbee2mqtt/0x000b57fffe9a1211/set {"state":"ON"}
off:noArg zigbee2mqtt/0x000b57fffe9a1211/set {"state":"OFF"}
brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/0x000b57fffe9a1211/set {"state":"on","$EVTPART0":"$EVTPART1"}
webCmd toggle:on:off:brightness
das hier angelegt:
Internals:
CFGFN
CID zigbee_0x000b57fffe9a1211
DEF zigbee_0x000b57fffe9a1211
DEVICETOPIC MQTT2_zigbee_0x000b57fffe9a1211
IODev m2s
LASTInputDev m2s
MSGCNT 3
NAME MQTT2_zigbee_0x000b57fffe9a1211
NR 84714
STATE ON
TYPE MQTT2_DEVICE
m2s_MSGCNT 3
m2s_TIME 2019-01-17 12:52:41
READINGS:
2019-01-17 12:52:36 associatedWith MQTT2_RASPI5
2019-01-17 12:52:41 brightness 30
2019-01-17 12:52:41 state ON
Attributes:
IODev m2s
readingList zigbee2mqtt/0x000b57fffe9a1211:.* { json2nameValue($EVENT, '', $JSONMAP) }
room MQTT2_DEVICE
Mache ich was falsch?
Das setStateList ist entstanden, um aus dem state Dinge drauszuhalten, die da nichts verloren haben (permit_join usw.), soweit ich mich entsinne.
Wo die Ikea-Bulb herkommt, kann ich nicht sagen, vermulich war das eine Umbenennung, die nicht in zigbee2mqtt angekommen ist, dort scheint nämlich noch die IEEE-Adresse als friendly name drin zu sein. Jedenfalls paßt da m.E. die CID nicht.
Würde also dieses Device löschen und dann auf die andere das Bulb-template anwenden, ein FHEM-rename sollte auch keine Probleme verursachen (anders wäre ein zigbe2mqtt-rename!).
Danke habe beide rausgeschmissen und dann im zigbee2mqtt umbenannt
danach das template angewandt - klappt supi. Jetzt kann die IT Steckdose "davor" weg.
DANKE DANKE DANKE
Edit zu früh gefreut
beim setzen kommt
2019.01.18 17:07:41 1: PERL WARNING: Argument "set 105" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
2019.01.18 17:07:42 1: PERL WARNING: Argument "set 180" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
2019.01.18 17:07:43 1: PERL WARNING: Argument "set 210" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
2019.01.18 17:07:44 1: PERL WARNING: Argument "set 165" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
2019.01.18 17:07:44 1: PERL WARNING: Argument "set 90" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
2019.01.18 17:07:45 1: PERL WARNING: Argument "set 0" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
2019.01.18 17:07:45 1: PERL WARNING: Argument "set 195" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
2019.01.18 17:07:47 1: PERL WARNING: Argument "set 255" isn't numeric in numeric gt (>) at ./FHEM/10_MQTT2_DEVICE.pm line 621.
Was setzt du denn? brightness?
Zitat von: Beta-User am 18 Januar 2019, 17:44:52
Was setzt du denn? brightness?
Sorry nicht erwähnt.
Musste es auch gerade erst einmal reproduzieren.
Wenn ich die Lampe auf "off" stelle und anschließend statt "on" drücke direkt die Helligkeit wähle, dann kommt die Meldung.
Ah, ok, jetzt sehe ich das auch; allerdings funktioniert es ja trotzdem (jedenfalls bei mir hier mit den letzten Versionen und auch vorher), deswegen hatte ich da bisher noch nie nachgesehen...
Ist "nur" eine Warnung, kannst das aber gerne im MQTT-Bereich kurz posten, hier findet Rudi das eher nicht bzw. wenn, dann zufällig.