mqtt2server zigbee2mqtt und diverse angelegte Geräte

Begonnen von masterpete23, 16 Januar 2019, 12:41:23

Vorheriges Thema - Nächstes Thema

masterpete23

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 :)

TomLee

Du hast sicherlich das gut dokumemtierte Wiki  zu diesem Thema übersehen.

masterpete23

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?

Beta-User

Zitat von: TomLee am 16 Januar 2019, 12:59:20
Du hast sicherlich das gut dokumemtierte Wiki  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!
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

masterpete23

#4
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?

Beta-User

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...
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

masterpete23

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

Beta-User

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.
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

masterpete23

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?

Beta-User

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
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

masterpete23

#10
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?

Beta-User

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!).
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

masterpete23

#12
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.

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

masterpete23

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.