Verbindung zu HomeAssistant mit MQTT_GENERIC_BRIDGE

Begonnen von edy_80, 25 Oktober 2020, 19:06:36

Vorheriges Thema - Nächstes Thema

passibe

#240
Zitat von: Knallfrosch am 24 August 2024, 12:12:31Wie kann ich Daten die nur in HA verfügbar sind an FEHM übertragen?
Es geht mir also nicht nur um die Schalterstellung eines Switch, sondern um Readings die sich tatsächlich nur mit HA von einer API abrufen lassen.

Das geht über MQTT Statestream. Siehe dazu hier: https://www.home-assistant.io/integrations/mqtt_statestream/

Bei mir sieht das in der configuration.yaml so aus:
mqtt_statestream:
  base_topic: hass
  publish_attributes: true
  publish_timestamps: true
  include:
    entities:
       - media_player.webos_tv
       - vacuum.deebot
       - [... weitere Devices ...]

EDIT: Zusätzlich muss man noch eine MQTT-Integration hinzufügen, um Home Assistant mit dem von FHEM bereitgestellten MQTT2_SERVER (also dem Broker) zu verbinden. Da dann evtl. über den "Configure"-Knopf "Enable newly added entities" ausschalten, damit Home Assistant nicht alle anderen MQTT-Geräte automatisch anlegt (keine Ahnung mehr, ob es das tatsächlich machen würde, habs jedenfalls grade nur gesehen, dass ich das damals ausgeschaltet habe).
Siehe dazu hier: https://www.home-assistant.io/integrations/mqtt/#broker-configuration

Dann einfach mit Programmen wie MQTT Explorer o.ä. dem MQTT Traffic lauschen und schauen, was da gesendet wird. Daraus dann in FHEM ein MQTT2_DEVICE bauen.


Und das ist jetzt vielleicht offtopic, weil nicht MQTT_GENERIC_BRIDGE, aber vielleicht hilfts ja jemandem:
Ich benutze Home Assistant nicht als Frontend und habe nur sehr wenige Geräte, die ich darüber anbinde. Deshalb war mir das mit MQTT_GENERIC_BRIDGE zu aufwändig und ich nutze nur eine Kombination aus MQTT Statestream und einer Automation pro Device, die die Befehle, die ich von FHEM aus über MQTT sende, in Home Assistant umsetzt.

z.B. für den oben erwähnten Saugroboter die Automation in Home Assistant:
alias: Deebot command via FHEM
description: ""
trigger:
  - platform: mqtt
    topic: hass/deebot/cmd
condition: []
action:
  - if:
      - condition: template
        value_template: "{{ trigger.payload == 'auto' }}"
    then:
      - data: {}
        target:
          entity_id: vacuum.deebot
        action: vacuum.start
  - if:
      - condition: template
        value_template: "{{ trigger.payload == 'pause' }}"
    then:
      - data: {}
        target:
          entity_id: vacuum.deebot
        action: vacuum.pause
  - if:
      - condition: template
        value_template: "{{ trigger.payload == 'stop' }}"
    then:
      - data: {}
        target:
          entity_id: vacuum.deebot
        action: vacuum.stop
  - if:
      - condition: template
        value_template: "{{ trigger.payload == 'stop_return' }}"
    then:
      - data: {}
        target:
          entity_id: vacuum.deebot
        action: vacuum.return_to_base
  - if:
      - condition: not
        conditions:
          - condition: template
            value_template: "{{ trigger.payload is search (\"auto|pause|stop\") }}"
    then:
      - target:
          entity_id: vacuum.deebot
        data:
          command: spot_area
          params:
            rooms: "{{trigger.payload}}"
        action: vacuum.send_command
mode: single

Das zugehörige Device in FHEM sieht so aus:
defmod deebot MQTT2_DEVICE deebot
attr deebot alias Deebot T9
attr deebot devicetopic hass/vacuum/deebot
attr deebot icon vacuum_top
attr deebot readingList $DEVICETOPIC/state:.* state\
$DEVICETOPIC/battery_level:.* battery\
$DEVICETOPIC/last_error:.* error\
$DEVICETOPIC/rooms:.* rooms
attr deebot setList auto:noArg hass/deebot/cmd auto\
only_k:noArg hass/deebot/cmd 3\
only_f:noArg hass/deebot/cmd 2\
only_kf:noArg hass/deebot/cmd 3,2\
pause:noArg hass/deebot/cmd pause\
resume:noArg hass/deebot/cmd auto\
stop_return:noArg hass/deebot/cmd stop_return
attr deebot webCmd auto:pause:resume:stop_return

Knallfrosch

Hallo,

sorry für die späte Rückmeldung.
Ich habe keine Benachrichtigung über neue Beiträge erhalten.

Danke für die Beiträge

Ich schaue mir das mal in den nächsten Tagen in Ruhe nochmal an und melde mich dann wieder.


Grüße

Knallfrosch

Hallo,

vielen Dank, die Erklärung und Schnipsel haben mir sehr weitergeholfen und ich konnte das ganze nun umsetzen.
Ich musste zwar kämpfen, da ich HA nur aus der Not heraus nutze und in FHEM auch kein Crack bin, aber ich habe es geschafft.

Ich bekomme jetzt die benötigten Werte von HA in FHEM angezeigt und kann dort damit weiterarbeiten.

Vielen Dank nochmal.


Grüße

CaptainSlow

#243
ich möchte mich hier noch einmal nach längerer Abwesenheit melden, hier eine Anleitung wie es bei mir zwischen FHEM und HomeAssistant funktioniert.
Es werden Sensoren abgefragt, Numbers übertragen etc:

- Dummy in FHEM anlegen:

define d_fanstageday dummy
userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
room HASS
mqttSubscribe state:stopic={"$base/set"}
mqttForward all

Der Dummy kann dann zB mit Werten 0-3 beschrieben werden, statt nur "on" und "off" -> das scheint ja bei einigen ein Problem zu sein bzgl der Umsetzung.

- notify in FHEM anlegen (das Notify schreibt dann in die entsprechenden Geräte, bei mir die Wärmepumpe)
define n_fanstageday notify a b
DEF d_fanstageday:.* set Mythz p07FanStageDay $EVENT (hier ist Mythz meine Wärmepumpe und ich möchte die FanStage bearbeiten, $EVENT ist der Wert aus dem Dummy

- Number in HA anlegen:
- name: Mythzp07FanStageDay
      unique_id: fhem_mythz_p07FanStageDay
      state_topic: "fhem/Mythz/p07FanStageDay"
      command_topic: "fhem/d_fanstageday/set"
      mode: box
      min: 0
      max: 3
      step: 1
      availability_topic: "fhem/connection/status"
      payload_available: "connected"
      payload_not_available: "disconnected"

wichtig: hier ist der state_topic direkt aus der Wärmepumpe, der command aber der Dummy --> somit wird auch wirklich zurückgegeben ob die Wärmepumpe umschaltet!

für einen Sensor würde es zB so aussehen (hier brauche ich keinen Switch / Number, sondern nur den Wert von der WP):
    - name: MythzTempWarmwasser
      unique_id: fhem_mythz_temp_warmwasser
      state_topic: "fhem/Mythz/TempWarmwasser"
      unit_of_measurement: "°C"

Beta-User

Zitat von: CaptainSlow am 22 November 2024, 14:23:45- Dummy in FHEM anlegen:
Der dummy ist imo in dem Zusammenhang komplett überflüssig! Genau wie das notify.... Mach' das doch direkt.
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

CaptainSlow

stimme ich dir zu! allerdings konnte ich auf die Art nur HA Sensoren einbinden, aber alle Stellgrößen (wie Lüfterstufen, Heizmodus usw) konnte ich nicht mit einer direkten Verbindung zum Laufen bekommen.. daher der Umweg.
Im MQTT Explorer wird mir sonst einfach ein zusätzlicher "Set"-Wert angelegt, aber nicht weiter verarbeitet (das gleiche passiert übrigens auch bei den Dummys, hier wird der "Set"-Wert dann aber innerhalb FHEM weiter gegeben durch das Notify.

Wenn du hier ein Beispiel veröffentlichen kannst wie es bei dir mit Direktverbindung funktioniert wäre ich dir dankbar :)
Meine Struktur ist zB innerhalb der MQTT fhem/Mythz/Parameter

Beta-User

Zitat von: CaptainSlow am 25 November 2024, 08:39:31Wenn du hier ein Beispiel veröffentlichen kannst wie es bei dir mit Direktverbindung funktioniert wäre ich dir dankbar :)
Prinzipiell sehe ich keinerlei Problem mit einer "Direktverbindung", du musst halt statt "state" mit dem Readingnamen arbeiten, den du verändern willst (hier also z.B. "p07FanStageDay"). Das ist m.E. doch auch nichts anderes als "pct" bei einem Rollladen, der z.B. hier zu finden wäre:

https://forum.fhem.de/index.php?msg=1124879
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

Deanw1975

Hallo zusammen,

habe erfolgreich den "demoswitch" aus dem zweiten Beitrag eingerichtet.

Nun wollte ich gerne ein Zigbee Gerät aus HASS zurück nach FHEM übertragen.
Im "MQTT2_zigbee_pi" MQTT2_DEVICE wird mir auch das Gerät aus dem Zigbee2MQTT im Log angezeigt wenn ich es schalte aber wohl nicht in FHEM automatisch angelegt!

log_message aus MQTT2_zigbee_pi

z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/00_Buero_Nachtlicht', payload '{"brightness":38,"color_mode":"color_temp","color_options":null,"color_temp":454,"color_temp_startup":454,"last_seen":"2024-12-06T09:46:13+01:00","linkquality":168,"power_on_behavior":null,"state":"OFF","update":{"installed_version":587757105,"latest_version":587757105,"state":"idle"},"update_available":null}'

2024-12-06 09:46:13

Ich finde es einfach nicht.

Hier das "list" des zigbee_pi Gerrätes

Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   FUUID      6751f50b-f33f-61e0-7075-8982cf2deb9b3d4d
   IODev      ha_MQTT2
   LASTInputDev ha_MQTT2
   MSGCNT     84
   NAME       MQTT2_zigbee_pi
   NR         820
   STATE      {"state":"online"}
   TYPE       MQTT2_DEVICE
   eventCount 83
   ha_MQTT2_MSGCNT 84
   ha_MQTT2_TIME 2024-12-06 09:47:14
   .DT:
     DEVICETOPIC zigbee2mqtt
   .attraggr:
   .attrminint:
   OLDREADINGS:
   READINGS:
     2024-12-06 08:28:57   attrTemplateVersion 20240628
     2024-12-06 09:31:47   devices         [{"disabled":false,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","genOnOff","genLevelCtrl","genTime","genOta","lightingColorCtrl"],"output":["genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","genPollCtrl","lightingColorCtrl","msIlluminanceMeasurement","msTemperatureMeasurement","msRelativeHumidity","msOccupancySensing","ssIasZone","seMetering","haMeterIdentification","haApplianceStatistics","haElectricalMeasurement","touchlink"]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":["greenPower"],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"Coordinator","ieee_address":"0xe0798dfffe99d833","interview_completed":true,"interviewing":false,"network_address":0,"supported":true,"type":"Coordinator"},{"date_code":"20190312","definition":{"description":"TRADFRI bulb E12/E14/E17, white spectrum, candle, opal, 450/470/440 lm","exposes":[{"features":[{"access":7,"description":"On/off state of this light","label":"State","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":7,"description":"Brightness of this light","label":"Brightness","name":"brightness","property":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":7,"description":"Color temperature of this light","label":"Color temp","name":"color_temp","presets":[{"description":"Coolest temperature supported","name":"coolest","value":250},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warm temperature (454 mireds / 2200 Kelvin)","name":"warm","value":454},{"description":"Warmest temperature supported","name":"warmest","value":454}],"property":"color_temp","type":"numeric","unit":"mired","value_max":454,"value_min":250},{"access":7,"description":"Color temperature after cold power on of this light","label":"Color temp startup","name":"color_temp_startup","presets":[{"description":"Coolest temperature supported","name":"coolest","value":250},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warm temperature (454 mireds / 2200 Kelvin)","name":"warm","value":454},{"description":"Warmest temperature supported","name":"warmest","value":454},{"description":"Restore previous color_temp on cold power on","name":"previous","value":65535}],"property":"color_temp_startup","type":"numeric","unit":"mired","value_max":454,"value_min":250},{"access":7,"description":"Configure genLevelCtrl","features":[{"access":7,"description":"this setting can affect the \"on_level\", \"current_level_startup\" or \"brightness\" setting","label":"Execute if off","name":"execute_if_off","property":"execute_if_off","type":"binary","value_off":false,"value_on":true},{"access":7,"description":"Defines the desired startup level for a device when it is supplied with power","label":"Current level startup","name":"current_level_startup","presets":[{"description":"Use minimum permitted value","name":"minimum","value":"minimum"},{"description":"Use previous value","name":"previous","value":"previous"}],"property":"current_level_startup","type":"numeric","value_max":254,"value_min":1}],"label":"Level config","name":"level_config","property":"level_config","type":"composite"}],"type":"light"},{"access":2,"description":"Triggers an effect on the light (e.g. make light blink for a few seconds)","label":"Effect","name":"effect","property":"effect","type":"enum","values":["blink","breathe","okay","channel_change","finish_effect","stop_effect"]},{"access":7,"category":"config","description":"Controls the behavior when the device is powered on after power loss","label":"Power-on behavior","name":"power_on_behavior","property":"power_on_behavior","type":"enum","values":["off","on","toggle","previous"]},{"access":7,"category":"config","description":"Advanced color behavior","features":[{"access":2,"description":"Controls whether color and color temperature can be set while light is off","label":"Execute if off","name":"execute_if_off","property":"execute_if_off","type":"binary","value_off":false,"value_on":true}],"label":"Color options","name":"color_options","property":"color_options","type":"composite"},{"access":2,"category":"config","description":"Initiate device identification","label":"Identify","name":"identify","property":"identify","type":"enum","values":["identify"]},{"access":1,"category":"diagnostic","description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"LED1835C6","options":[{"access":2,"description":"Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition).","label":"Transition","name":"transition","property":"transition","type":"numeric","value_min":0},{"access":2,"description":"When enabled colors will be synced, e.g. if the light supports both color x/y and color temperature a conversion from color x/y to color temperature will be done when setting the x/y color (default true).","label":"Color sync","name":"color_sync","property":"color_sync","type":"binary","value_off":false,"value_on":true},{"access":2,"description":"Sets the duration of the identification procedure in seconds (i.e., how long the device would flash).The value ranges from 1 to 30 seconds (default: 3).","label":"Identify timeout","name":"identify_timeout","property":"identify_timeout","type":"numeric","value_max":30,"value_min":1},{"access":2,"description":"State actions will also be published as 'action' when true (default false).","label":"State action","name":"state_action","property":"state_action","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"disabled":false,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","lightingColorCtrl","touchlink","manuSpecificIkeaUnknown"],"output":["genScenes","genOta","genPollCtrl","touchlink"]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"00_Buero_Nachtlicht","ieee_address":"0x680ae2fffe550cb6","interview_completed":true,"interviewing":false,"manufacturer":"IKEA of Sweden","model_id":"TRADFRI bulb E14 WS 470lm","network_address":11678,"power_source":"Mains (single phase)","software_build_id":"2.3.087","supported":true,"type":"Router"}]
     2024-12-06 09:15:15   extensions      []
     2024-12-06 09:15:15   groups          []
     2024-12-06 09:31:47   info            {"commit":"unknown","config":{"advanced":{"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"availability_whitelist":[],"cache_state":true,"cache_state_persistent":true,"cache_state_send_on_startup":true,"channel":11,"elapsed":false,"ext_pan_id":[140,181,44,147,145,184,12,139],"homeassistant_legacy_entity_attributes":false,"last_seen":"ISO_8601_local","legacy_api":false,"legacy_availability_payload":false,"log_debug_namespace_ignore":"","log_debug_to_mqtt_frontend":false,"log_directory":"/config/zigbee2mqtt/log/%TIMESTAMP%","log_file":"log.log","log_level":"info","log_namespaced_levels":{},"log_output":["console","file"],"log_rotation":true,"log_symlink_current":false,"log_syslog":{},"output":"json","pan_id":44494,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"availability":{},"blocklist":[],"device_options":{"legacy":false},"devices":{"0x680ae2fffe550cb6":{"friendly_name":"00_Buero_Nachtlicht"}},"external_converters":[],"frontend":{"base_url":"/","port":8099},"groups":{},"homeassistant":{"discovery_topic":"homeassistant","experimental_event_entities":false,"legacy_entity_attributes":false,"legacy_triggers":true,"status_topic":"hass/status"},"map_options":{"graphviz":{"colors":{"fill":{"coordinator":"#e04e5d","enddevice":"#fff8ce","router":"#4ea3e0"},"font":{"coordinator":"#ffffff","enddevice":"#000000","router":"#ffffff"},"line":{"active":"#009900","inactive":"#994444"}}}},"mqtt":{"base_topic":"zigbee2mqtt","force_disable_retain":false,"include_device_information":false,"server":"mqtt://192.168.178.125:1883","user":"mqttadmin"},"ota":{"disable_automatic_update_check":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"adapter":"ember","disable_led":false,"port":"/dev/ttyUSB0"}},"config_schema":{"definitions":{"device":{"properties":{"debounce":{"description":"Debounces messages of this device","title":"Debounce","type":"number"},"debounce_ignore":{"description":"Protects unique payload values of specified payload properties from overriding within debounce time","examples":["action"],"items":{"type":"string"},"title":"Ignore debounce","type":"array"},"disabled":{"description":"Disables the device (excludes device from network scans, availability and group state updates)","requiresRestart":true,"title":"Disabled","type":"boolean"},"filtered_attributes":{"description":"Filter attributes with regex from published payload.","examples":["^temperature$","^battery$","^action$"],"items":{"type":"string"},"title":"Filtered publish attributes","type":"array"},"filtered_cache":{"description":"Filter attributes with regex from being added to the cache, this prevents the attribute from being in the published payload when the value didn't change.","examples":["^input_actions$"],"items":{"type":"string"},"title":"Filtered attributes from cache","type":"array"},"filtered_optimistic":{"description":"Filter attributes with regex from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","examples":["^color_(mode|temp)$","color"],"items":{"type":"string"},"title":"Filtered optimistic attributes","type":"array"},"friendly_name":{"description":"Used in the MQTT topic of a device. By default this is the device ID","readOnly":true,"title":"Friendly name","type":"string"},"homeassistant":{"properties":{"name":{"description":"Name of the device in Home Assistant","title":"Home Assistant name","type":"string"}},"title":"Home Assistant","type":["object","null"]},"icon":{"description":"The user-defined device icon for the frontend. It can be a full URL link to an image (e.g. https://SOME.SITE/MODEL123.jpg) (you cannot use a path to a local file) or base64 encoded data URL (e.g. image/svg+xml;base64,PHN2ZyB3aW....R0aD)","title":"Icon","type":"string"},"optimistic":{"default":true,"description":"Publish optimistic state after set","title":"Optimistic","type":"boolean"},"qos":{"description":"QoS level for MQTT messages of this device","title":"QoS","type":"number"},"retain":{"description":"Retain MQTT messages of this device","title":"Retain","type":"boolean"},"retention":{"description":"Sets the MQTT Message Expiry in seconds, Make sure to set mqtt.version to 5","title":"Retention","type":"number"}},"required":["friendly_name"],"type":"object"},"group":{"properties":{"devices":{"items":{"type":"string"},"type":"array"},"filtered_attributes":{"items":{"type":"string"},"type":"array"},"friendly_name":{"type":"string"},"off_state":{"default":"auto","description":"Control when to publish state OFF or CLOSE for a group. 'all_members_off': only publish state OFF/CLOSE when all group members are in state OFF/CLOSE,  'last_member_state': publish state OFF whenever one of its members changes to OFF","enum":["all_members_off","last_member_state"],"requiresRestart":true,"title":"Group off state","type":["string"]},"optimistic":{"type":"boolean"},"qos":{"type":"number"},"retain":{"type":"boolean"}},"required":["friendly_name"],"type":"object"}},"properties":{"advanced":{"properties":{"adapter_concurrent":{"description":"Adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)","maximum":64,"minimum":1,"requiresRestart":true,"title":"Adapter concurrency","type":["number","null"]},"adapter_delay":{"description":"Adapter delay","maximum":1000,"minimum":0,"requiresRestart":true,"title":"Adapter delay","type":["number","null"]},"cache_state":{"default":true,"description":"MQTT message payload will contain all attributes, not only changed ones. Has to be true when integrating via Home Assistant","title":"Cache state","type":"boolean"},"cache_state_persistent":{"default":true,"description":"Persist cached state, only used when cache_state: true","title":"Persist cache state","type":"boolean"},"cache_state_send_on_startup":{"default":true,"description":"Send cached state on startup, only used when cache_state: true","title":"Send cached state on startup","type":"boolean"},"channel":{"default":11,"description":"Zigbee channel, changing might require re-pairing some devices! (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid problems)","examples":[15,20,25],"maximum":26,"minimum":11,"requiresRestart":true,"title":"ZigBee channel","type":"number"},"elapsed":{"default":false,"description":"Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg","title":"Elapsed","type":"boolean"},"ext_pan_id":{"description":"Zigbee extended pan ID, changing requires re-pairing all devices!","oneOf":[{"title":"Extended pan ID (string)","type":"string"},{"items":{"type":"number"},"title":"Extended pan ID (array)","type":"array"}],"requiresRestart":true,"title":"Ext Pan ID"},"last_seen":{"default":"disable","description":"Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message","enum":["disable","ISO_8601","ISO_8601_local","epoch"],"title":"Last seen","type":"string"},"legacy_api":{"default":true,"description":"Disables the legacy api (false = disable)","requiresRestart":true,"title":"Legacy API","type":"boolean"},"legacy_availability_payload":{"default":true,"description":"Payload to be used for device availability and bridge/state topics. true = text, false = JSON","requiresRestart":true,"title":"Legacy availability payload","type":"boolean"},"log_debug_namespace_ignore":{"default":"","description":"Do not log these namespaces (regex-based) for debug level","examples":["^zhc:legacy:fz:(tuya|moes)","^zhc:legacy:fz:(tuya|moes)|^zh:ember:uart:|^zh:controller"],"title":"Log debug namespace ignore","type":"string"},"log_debug_to_mqtt_frontend":{"default":false,"description":"Log debug level to MQTT and frontend (may decrease overall performance)","requiresRestart":true,"title":"Log debug to MQTT and frontend","type":"boolean"},"log_directory":{"description":"Location of log directory","examples":["data/log/%TIMESTAMP%"],"requiresRestart":true,"title":"Log directory","type":"string"},"log_file":{"default":"log.txt","description":"Log file name, can also contain timestamp","examples":["zigbee2mqtt_%TIMESTAMP%.log"],"requiresRestart":true,"title":"Log file","type":"string"},"log_level":{"default":"info","description":"Logging level","enum":["error","warning","info","debug","warn"],"title":"Log level","type":"string"},"log_namespaced_levels":{"additionalProperties":{"enum":["error","warning","info","debug"],"type":"string"},"default":{},"description":"Set individual log levels for certain namespaces","examples":[{"z2m:mqtt":"warning"},{"zh:ember:uart:ash":"info"}],"propertyNames":{"pattern":"^(z2m|zhc|zh)(:[a-z0-9]{1,})*$"},"title":"Log Namespaced Levels","type":"object"},"log_output":{"description":"Output location of the log, leave empty to suppress logging","items":{"enum":["console","file","syslog"],"type":"string"},"requiresRestart":true,"title":"Log output","type":"array"},"log_rotation":{"default":true,"description":"Log rotation","requiresRestart":true,"title":"Log rotation","type":"boolean"},"log_symlink_current":{"default":false,"description":"Create symlink to current logs in the log directory","requiresRestart":true,"title":"Log symlink current","type":"boolean"},"log_syslog":{"oneOf":[{"title":"syslog (disabled)","type":"null"},{"properties":{"app_name":{"default":"Zigbee2MQTT","description":"The name of the application (Default: Zigbee2MQTT).","title":"Localhost","type":"string"},"eol":{"default":"/n","description":"The end of line character to be added to the end of the message (Default: Message without modifications).","title":"eol","type":"string"},"host":{"default":"localhost","description":"The host running syslogd, defaults to localhost.","title":"Host","type":"string"},"localhost":{"default":"localhost","description":"Host to indicate that log messages are coming from (Default: localhost).","title":"Localhost","type":"string"},"path":{"default":"/dev/log","description":"The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).","examples":["/var/run/syslog"],"title":"Path","type":"string"},"pid":{"default":"process.pid","description":"PID of the process that log messages are coming from (Default process.pid).","title":"PID","type":"string"},"port":{"default":514,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"udp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["udp4","tls4","unix","unix-connect"],"title":"Protocol","type":"string"},"type":{"default":"5424","description":"The type of the syslog protocol to use (Default: BSD, also valid: 5424).","title":"Type","type":"string"}},"title":"syslog (enabled)","type":"object"}],"requiresRestart":true},"network_key":{"description":"Network encryption key, changing requires re-pairing all devices!","oneOf":[{"title":"Network key(string)","type":"string"},{"items":{"type":"number"},"title":"Network key(array)","type":"array"}],"requiresRestart":true,"title":"Network key"},"output":{"description":"Examples when 'state' of a device is published json: topic: 'zigbee2mqtt/my_bulb' payload '{\"state\": \"ON\"}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: both json and attribute (see above)","enum":["attribute_and_json","attribute","json"],"title":"MQTT output type","type":"string"},"pan_id":{"description":"ZigBee pan ID, changing requires re-pairing all devices!","oneOf":[{"title":"Pan ID (string)","type":"string"},{"title":"Pan ID (number)","type":"number"}],"requiresRestart":true,"title":"Pan ID"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","type":"string"},"transmit_power":{"description":"Transmit power of adapter, only available for Z-Stack (CC253*/CC2652/CC1352) adapters, CC2652 = 5dbm, CC1352 max is = 20dbm (5dbm default)","maximum":127,"minimum":-128,"requiresRestart":true,"title":"Transmit power","type":["number","null"]}},"title":"Advanced","type":"object"},"availability":{"description":"Checks whether devices are online/offline","oneOf":[{"title":"Availability (simple)","type":"boolean"},{"properties":{"active":{"description":"Options for active devices (routers/mains powered)","properties":{"timeout":{"default":10,"description":"Time after which an active device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Active","type":"object"},"passive":{"description":"Options for passive devices (mostly battery powered)","properties":{"timeout":{"default":1500,"description":"Time after which an passive device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Passive","type":"object"}},"title":"Availability (advanced)","type":"object"}],"requiresRestart":true,"title":"Availability"},"ban":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Ban (deprecated, use blocklist)","type":"array"},"blocklist":{"description":"Block devices from the network (by ieeeAddr)","items":{"type":"string"},"requiresRestart":true,"title":"Blocklist","type":"array"},"device_options":{"title":"Options that are applied to all devices","type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"type":"object"},"external_converters":{"description":"You can define external converters to e.g. add support for a DiY device","examples":["DIYRuZ_FreePad.js"],"items":{"type":"string"},"requiresRestart":true,"title":"External converters","type":"array"},"frontend":{"oneOf":[{"title":"Frontend (simple)","type":"boolean"},{"properties":{"auth_token":{"description":"Enables authentication, disabled by default","requiresRestart":true,"title":"Auth token","type":["string","null"]},"base_url":{"default":"/","description":"Base URL for the frontend. If hosted under a subpath, e.g. 'http://localhost:8080/z2m', set this to '/z2m'","pattern":"^\\/.*","requiresRestart":true,"title":"Base URL","type":"string"},"host":{"description":"Frontend binding host. Binds to a unix socket when an absolute path is given instead.","examples":["127.0.0.1","::1","/run/zigbee2mqtt/zigbee2mqtt.sock"],"requiresRestart":true,"title":"Bind host","type":["string","null"]},"port":{"default":8080,"description":"Frontend binding port. Ignored when using a unix domain socket","requiresRestart":true,"title":"Port","type":"number"},"ssl_cert":{"description":"SSL Certificate file path for exposing HTTPS. The sibling property 'ssl_key' must be set for HTTPS to be activated.","requiresRestart":true,"title":"Certificate file path","type":["string","null"]},"ssl_key":{"description":"SSL key file path for exposing HTTPS. The sibling property 'ssl_cert' must be set for HTTPS to be activated.","requiresRestart":true,"title":"key file path","type":["string","null"]},"url":{"description":"URL on which the frontend can be reached, currently only used for the Home Assistant device configuration page","requiresRestart":true,"title":"URL","type":["string","null"]}},"title":"Frontend (advanced)","type":"object"}],"requiresRestart":true,"title":"Frontend"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","oneOf":[{"title":"Home Assistant (simple)","type":"boolean"},{"properties":{"discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"experimental_event_entities":{"default":false,"description":"Home Assistant experimental event entities, when enabled Zigbee2MQTT will add event entities for exposed actions. The events and attributes are currently deemed experimental and subject to change.","title":"Home Assistant experimental event entities","type":"boolean"},"legacy_entity_attributes":{"default":true,"description":"Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates","title":"Home Assistant legacy entity attributes","type":"boolean"},"legacy_triggers":{"default":true,"description":"Home Assistant legacy triggers, when enabled Zigbee2mqt will send an empty 'action' or 'click' after one has been send. A 'sensor_action' and 'sensor_click' will be discoverd","title":"Home Assistant legacy triggers","type":"boolean"},"status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"}},"title":"Home Assistant (advanced)","type":"object"}],"requiresRestart":true,"title":"Home Assistant integration"},"map_options":{"properties":{"graphviz":{"properties":{"colors":{"properties":{"fill":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"font":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"line":{"properties":{"active":{"type":"string"},"inactive":{"type":"string"}},"type":"object"}},"type":"object"}},"type":"object"}},"title":"Networkmap","type":"object"},"mqtt":{"properties":{"base_topic":{"default":"zigbee2mqtt","description":"MQTT base topic for Zigbee2MQTT MQTT messages","examples":["zigbee2mqtt"],"requiresRestart":true,"title":"Base topic","type":"string"},"ca":{"description":"Absolute path to SSL/TLS certificate of CA used to sign server and client certificates","examples":["/etc/ssl/mqtt-ca.crt"],"requiresRestart":true,"title":"Certificate authority","type":"string"},"cert":{"description":"Absolute path to SSL/TLS certificate for client-authentication","examples":["/etc/ssl/mqtt-client.crt"],"requiresRestart":true,"title":"SSL/TLS certificate","type":"string"},"client_id":{"description":"MQTT client ID","examples":["MY_CLIENT_ID"],"requiresRestart":true,"title":"Client ID","type":"string"},"force_disable_retain":{"default":false,"description":"Disable retain for all send messages. ONLY enable if you MQTT broker doesn't support retained message (e.g. AWS IoT core, Azure IoT Hub, Google Cloud IoT core, IBM Watson IoT Platform). Enabling will break the Home Assistant integration","requiresRestart":true,"title":"Force disable retain","type":"boolean"},"include_device_information":{"default":false,"description":"Include device information to mqtt messages","title":"Include device information","type":"boolean"},"keepalive":{"default":60,"description":"MQTT keepalive in second","requiresRestart":true,"title":"Keepalive","type":"number"},"key":{"description":"Absolute path to SSL/TLS key for client-authentication","examples":["/etc/ssl/mqtt-client.key"],"requiresRestart":true,"title":"SSL/TLS key","type":"string"},"password":{"description":"MQTT server authentication password","examples":["ILOVEPELMENI"],"requiresRestart":true,"title":"Password","type":"string"},"reject_unauthorized":{"default":true,"description":"Disable self-signed SSL certificate","requiresRestart":true,"title":"Reject unauthorized","type":"boolean"},"server":{"description":"MQTT server URL (use mqtts:// for SSL/TLS connection)","examples":["mqtt://localhost:1883"],"requiresRestart":true,"title":"MQTT server","type":"string"},"user":{"description":"MQTT server authentication user","examples":["johnnysilverhand"],"requiresRestart":true,"title":"User","type":"string"},"version":{"default":4,"description":"MQTT protocol version","examples":[5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["server"],"title":"MQTT","type":"object"},"ota":{"properties":{"disable_automatic_update_check":{"default":false,"description":"Zigbee devices may request a firmware update, and do so frequently, causing Zigbee2MQTT to reach out to third party servers. If you disable these device initiated checks, you can still initiate a firmware update check manually.","title":"Disable automatic update check","type":"boolean"},"ikea_ota_use_test_url":{"default":false,"description":"Use IKEA TRADFRI OTA test server, see OTA updates documentation","requiresRestart":true,"title":"IKEA TRADFRI OTA use test url","type":"boolean"},"update_check_interval":{"default":1440,"description":"Your device may request a check for a new firmware update. This value determines how frequently third party servers may actually be contacted to look for firmware updates. The value is set in minutes, and the default is 1 day.","title":"Update check interval","type":"number"},"zigbee_ota_override_index_location":{"description":"Location of override OTA index file","examples":["index.json"],"requiresRestart":true,"title":"OTA index override file name","type":["string","null"]}},"title":"OTA updates","type":"object"},"passlist":{"description":"Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!","items":{"type":"string"},"requiresRestart":true,"title":"Passlist","type":"array"},"permit_join":{"default":false,"description":"Allow new devices to join (re-applied at restart)","title":"Permit join","type":"boolean"},"serial":{"properties":{"adapter":{"default":"auto","description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp","auto","ember","zboss"],"requiresRestart":true,"title":"Adapter","type":["string"]},"baudrate":{"description":"Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600","examples":[38400,57600,115200],"requiresRestart":true,"title":"Baudrate","type":"number"},"disable_led":{"default":false,"description":"Disable LED of the adapter if supported","requiresRestart":true,"title":"Disable led","type":"boolean"},"port":{"description":"Location of the adapter. To autodetect the port, set null","examples":["/dev/ttyACM0"],"requiresRestart":true,"title":"Port","type":["string","null"]},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"ieee_address":"0xe0798dfffe99d833","meta":{"build":0,"ezsp":13,"major":7,"minor":4,"patch":4,"revision":"7.4.4 [GA]","special":0,"type":170},"type":"EmberZNet"},"log_level":"info","network":{"channel":11,"extended_pan_id":10139059148411113000,"pan_id":44494},"permit_join":false,"restart_required":false,"version":"1.42.0","zigbee_herdsman":{"version":"2.1.9"},"zigbee_herdsman_converters":{"version":"20.58.0"}}
     2024-12-06 09:47:14   log_level       info
     2024-12-06 09:47:14   log_message     z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/00_Buero_Nachtlicht', payload '{"brightness":38,"color_mode":"color_temp","color_options":null,"color_temp":454,"color_temp_startup":454,"last_seen":"2024-12-06T09:47:14+01:00","linkquality":168,"power_on_behavior":null,"state":"ON","update":{"installed_version":587757105,"latest_version":587757105,"state":"idle"},"update_available":null}'
     2024-12-06 09:15:14   state           {"state":"online"}
Attributes:
   IODev      ha_MQTT2
   bridgeRegexp zigbee2mqtt/((?!bridge)[A-Za-z0-9._]+)/?.*:.* "zigbee_$1"
   comment    To check for new updates of the deamon software, you might want to use a separate HTTPMOD device. See HTTPMOD template zigbee2mqtt_daemon_updates for further details.
   devicetopic zigbee2mqtt
   getList    networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/networkmap graphviz
   icon       mqtt
   model      zigbee2mqtt_bridge
   readingList $DEVICETOPIC/bridge/state:.* state
  $DEVICETOPIC/bridge/config/devices:.* {}
  $DEVICETOPIC/bridge/config/log_level:.* log_level
  $DEVICETOPIC/bridge/config/permit_join:.* permit_join
  $DEVICETOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices
  $DEVICETOPIC/bridge/log:.* log
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }
  $DEVICETOPIC/bridge/response/networkmap:.* { my $type = $EVENT =~ m/.*,"type":"(raw|graphviz)",.*/ ? $1 : 'networkmap'; $EVENT =~ m/{"data":\{.*"value":"?(.*[^"])"?\},"status":"ok"\}/ ? { $type=>$1 } : {} }
  $DEVICETOPIC/bridge/devices:.* devices
  $DEVICETOPIC/bridge/info:.* info
  $DEVICETOPIC/bridge/groups:.* groups
  $DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/bridge/extensions:.* extensions
  $DEVICETOPIC/bridge/response/permit_join:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/bridge/definitions:.* {}
   room       HASS
   setList    log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1
  permit_join:true,false $DEVICETOPIC/bridge/request/permit_join $EVTPART1
  remove:textField $DEVICETOPIC/bridge/config/remove $EVTPART1
  ota_update:textField $DEVICETOPIC/bridge/ota_update/update $EVTPART1
  ota_update_check:textField $DEVICETOPIC/bridge/ota_update/check $EVTPART1
  y_device_setting:textField $DEVICETOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}
  x_bind:textField $DEVICETOPIC/bridge/bind/$EVTPART1 $EVTPART2
  x_bind_unbind:textField $DEVICETOPIC/bridge/unbind/$EVTPART1 $EVTPART2
  x_device_options:textField $DEVICETOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}
  x_group_add_to:textField $DEVICETOPIC/bridge/group/$EVTPART1/add $EVTPART2
  x_group_rm_from:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove $EVTPART2
  x_group_rm_from_all:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2
  x_group_add_group:textField $DEVICETOPIC/bridge/config/add_group $EVTPART1
  x_group_rm_group:textField $DEVICETOPIC/bridge/config/remove_group $EVTPART1
  z_elapsed:textField $DEVICETOPIC/bridge/config/elapsed $EVTPART1
  z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $DEVICETOPIC/bridge/config/last_seen $EVTPART1
  z_ban:textField $DEVICETOPIC/bridge/config/ban $EVTPART1
  z_rename:textField $DEVICETOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
  z_reset_CC:noArg $DEVICETOPIC/bridge/config/reset
   setStateList on off

Danke für eure Mühe
Dean

Beta-User

Zitat von: Deanw1975 am 06 Dezember 2024, 10:00:12Nun wollte ich gerne ein Zigbee Gerät aus HASS zurück nach FHEM übertragen.
Da du anschließend von zigbee2mqtt sprichst:
Das ist einfach ein Dienst, der parallel sowohl FHEM wie beliebig viele andere Automatisierungslösungen versort. Infos zur Einbindung von zigbee2mqtt in FHEM findest du im Wiki, und eigentlich sollte eine neue MQTT2_DEVICE-Instanz angelegt worden sein (aber nicht wegen der log-Message, sondern wegen der "originalen" message).

Falls du nicht ganz aktuell bist, vielleicht nochmal ein update fahren, es gab irgendeinen Wackler in json2nameReading(), der jetzt beseitigt sein sollte.
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

rudolfkoenig

ZitatFalls du nicht ganz aktuell bist, vielleicht nochmal ein update fahren, es gab irgendeinen Wackler in json2nameReading(), der jetzt beseitigt sein sollte.
Betrifft Installationen, die in den letzten 7 Tagen ein update gemacht haben, und im JSON Schlüssel(!) ungewöhnliche Buchstaben verwenden, z.Bsp. { "Küche":7, "12:34:56:78":-13 }.
Soweit ich sehe, ist das hier nicht der Fall.

Deanw1975

Zitat von: Beta-User am 06 Dezember 2024, 10:05:50Da du anschließend von zigbee2mqtt sprichst:
Das ist einfach ein Dienst, der parallel sowohl FHEM wie beliebig viele andere Automatisierungslösungen versort. Infos zur Einbindung von zigbee2mqtt in FHEM findest du im Wiki, und eigentlich sollte eine neue MQTT2_DEVICE-Instanz angelegt worden sein (aber nicht wegen der log-Message, sondern wegen der "originalen" message).

Klar, zigbee2mqtt ist an einen Broker in HASS angebunden. Aber dieser muss doch auch die Geräte an FHEM weitergeben können?
Frage ist natürlich wer gibt an FEHM. Der Dienst zigbee2mqtt oder der dazugeöhrige Broker.

Zitat von: Beta-User am 06 Dezember 2024, 10:05:50Falls du nicht ganz aktuell bist, vielleicht nochmal ein update fahren, es gab irgendeinen Wackler in json2nameReading(), der jetzt beseitigt sein sollte.

Wurde durchgeführt

Beta-User

Zitat von: Deanw1975 am 06 Dezember 2024, 11:10:35Aber dieser muss doch auch die Geräte an FHEM weitergeben können?
"Broker" ist alte Terminologie, aber klar, du kannst mehr oder weniger jeden beliebigen MQTT-Server an FHEM anbinden. Wenn der Server extern ist, halt via MQTT2_CLIENT, was bzgl. "autocreate" halt nicht so fancy ist wie MQTT2_SERVER zu verwenden.

Dein Problem bzgl. zigbee2mqtt liegt aber immer noch nicht in der Verbindung HASS<->FHEM, sondern in der Konfiguration von MQTT2_.* in FHEM. Schau dir an, was da in MQTT2_CLIENT an traffic zu sehen ist und befasse dich mit "autocreate" (was m.E. in der Konstaellation eigentlich nicht zu empfehlen ist!), und Themen wie "client order" im Verhältnis zu MQTT_GENERIC_BRIDGE.

Meine Empfehlung wäre, zumindest übergangsweise einen MQTT2_SERVER zu aktivieren und zigbee2mqtt dahin zu verlegen, damit erst mal deine Geräte per autocreate angelegt und (per attrTemplate, das du ja anscheinend gefunden hast) halbwegs sinnvoll konfiguriert werden. Sonst ist das zu zäh. Just my2ct.
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

Deanw1975

Zitat von: Beta-User am 06 Dezember 2024, 11:29:50Dein Problem bzgl. zigbee2mqtt liegt aber immer noch nicht in der Verbindung HASS<->FHEM, sondern in der Konfiguration von MQTT2_.* in FHEM. Schau dir an, was da in MQTT2_CLIENT an traffic zu sehen ist und befasse dich mit "autocreate" (was m.E. in der Konstaellation eigentlich nicht zu empfehlen ist!), und Themen wie "client order" im Verhältnis zu MQTT_GENERIC_BRIDGE.

Im Wiki steht nur

Möchte man autocreate verwenden, um automatisiert MQTT2_DEVICE-Geräte anlegen zu lassen, empfiehlt es sich, auf das erste automatisch angelegte Gerät das template MQTT2_CLIENT_general_bridge anzuwenden. Dadurch werden anschließend bestimmte eingehenden MQTT-Messages für eine Anzahl häufig anzutreffender Gerätetypen in separate, automatisch angelegte MQTT2_DEVICE-Geräte umgeleitet[2].
Wo kann ich das "Autocreate" kurzfristig hinterlegen um es nach erfolgreicher Aktion wieder zu löschen?

Zitat von: Beta-User am 06 Dezember 2024, 11:29:50Meine Empfehlung wäre, zumindest übergangsweise einen MQTT2_SERVER zu aktivieren und zigbee2mqtt dahin zu verlegen, damit erst mal deine Geräte per autocreate angelegt und (per attrTemplate, das du ja anscheinend gefunden hast) halbwegs sinnvoll konfiguriert werden. Sonst ist das zu zäh. Just my2ct.

Das wäre dann der zweite Versuch.

Beta-User

Zitat von: Deanw1975 am 06 Dezember 2024, 12:08:25Im Wiki steht nur
Das stimmt auch. Es bezieht sich aber v.a. auf die "empfohlene Vorgehensweise" mit MQTT2_SERVER.

Wenn du "autocreate" am MQTT2_CLIENT aktivierst (wie, steht wie üblich in der commandref zu diesem Modul), wirst du halt ggf. "Spaß" haben, je nachdem, was du halt sonst noch so an MQTT hängen hast. "Spaß" kann bedeuten: Viel Last an FHEM, (vielleicht) viele Devices, vielleicht "komische" readingList-Einträge, vielleicht sogar unbeabsichtigte Schleifen, whatever. Kurz: Arbeite dich ein, v.a., wenn du MQTT2_CLIENT verwenden willst!
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

Deanw1975

Zitat von: Beta-User am 06 Dezember 2024, 11:29:50Meine Empfehlung wäre, zumindest übergangsweise einen MQTT2_SERVER zu aktivieren und zigbee2mqtt dahin zu verlegen, damit erst mal deine Geräte per autocreate angelegt und (per attrTemplate, das du ja anscheinend gefunden hast) halbwegs sinnvoll konfiguriert werden. Sonst ist das zu zäh. Just my2ct.

Habe ich gemacht:
Zigbee2mqtt auf meinen Fhem MQTT2_SERVER umgestellt. Gerät wurde angelegt.
Template drauf gelegt.
Konnte ich von Fhem aus schalten.
Zignbee wieder auf HASS MQTT-Server umgestellt.
Wenn ich das Gerät von HASS aus schalte, ändert sich auch der Status in FHEM.
Von Fhem aus kann ich keine Änderungen an das Gerät senden.
Erst wenn ich wieder auf den FHEM MQTT_Server in Zigbee anstelle kann ich wieder in FHEM schalten, aber dann nicht mehr in HASS.

Was mache ich falsch?

Danke
Dean