FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Betonklotz am 24 Juni 2020, 10:03:50

Titel: How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 24 Juni 2020, 10:03:50
Hallo,

das Haus wächst weiter, passend zum Sommer wurde die Klimaanlage in Betrieb genommen, wobei ich da gleich einen ESP (auf einem NodeMCU Board) drangehängt habe, Code stammt von hier: https://github.com/gysmo38/mitsubishi2MQTT (https://github.com/gysmo38/mitsubishi2MQTT). Wenn noch wer einen CN105 Stecker + Crimpkontakte für eine Mitsubishi Electric Klima benötigt: kann ich gegen Portoerstattung liefern (ein 100er Pack der Stecker + Kontakte war billiger als 3 einzelne...), habe noch 98 Stück rumliegen.
Das ganze läuft nach einer klitzekleinen Anpassung auch super, kann mich auf die beiden relevanten topics subscriben und bekomme auch jeweils Updates in JSON Format:

MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":25,"temperature":23,"fan":"QUIET","vane":"SWING","action":"cooling","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/settings:{"temperature":24,"fan":"2","vane":"1","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":24.5,"temperature":24,"fan":"2","vane":"1","action":"cooling","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":24,"temperature":24,"fan":"2","vane":"1","action":"cooling","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/settings:{"temperature":24,"fan":"1","vane":"1","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":24,"temperature":24,"fan":"1","vane":"1","action":"cooling","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":23.5,"temperature":24,"fan":"1","vane":"1","action":"cooling","mode":"cool"}

Mein Problem liegt darin, wie ich das "vernünftig" ansteuern kann... Über setList und setStateList habe ich die Steuerung für den Modus (an aus, kühlen, heizen...) abgebildet und das funktioniert auch perfekt. Ich bräuchte jedoch quasi das ganze Konstrukt mehrfach, angefangen bei der Einstellung der Temperatur (in Gradschritten), Lüfter (1-4; AUTO; QUIET) und horizontalen/vertikalen Lamellen (1-5 SWING AUTO bzw. << < | > >>). Habe in setList und setStateList mal den Modus, mal die Lüfterstufe (im Beispiel oben den fan auf Stufe 2 und zurück auf Stufe 1) usw. eingetragen, das geht auch. Aber geht auch alles gleichzeitig zum Einstellen? Template nutze ich nicht, da habe ich leider keine (für mich) verständliche Anleitung gefunden :-(

Gruß, Robert

Noch das list vom device

Internals:
   CFGFN     
   CID        HVAC_C64E1A
   DEF        HVAC_C64E1A
   DEVICETOPIC MQTT2_HVAC_C64E1A
   FUUID      5ef1e804-f13f-a32b-ca0b-c43604eaf3b56dba
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 2334
   MQTT2_FHEM_Server_TIME 2020-06-24 09:37:25
   MSGCNT     2334
   NAME       MQTT2_HVAC_C64E1A
   NR         13421
   STATE      set_COOL
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-06-24 09:37:25   action          off
     2020-06-23 17:55:22   action_template {{ value_json.action if (value_json is defined and value_json.action is defined and value_json.action|length) else 'idle' }}
     2020-06-23 17:55:22   action_topic    Klima/OG_C64E1A/state
     2020-06-23 17:55:22   curr_temp_t     Klima/OG_C64E1A/state
     2020-06-23 17:55:22   curr_temp_tpl   {{ value_json.roomTemperature if (value_json is defined and value_json.roomTemperature is defined and value_json.roomTemperature|int > 8.00) else '26.00' }}
     2020-06-23 17:55:22   device_ids      OG_C64E1A
     2020-06-23 17:55:22   device_mdl      HVAC MITSUBISHI
     2020-06-23 17:55:22   device_mf       MITSUBISHI ELECTRIC
     2020-06-23 17:55:22   device_name     OG_C64E1A
     2020-06-23 17:55:22   device_sw       Mitsubishi2MQTT 0.7.3
     2020-06-24 09:37:25   fan             AUTO
     2020-06-23 17:55:22   fan_mode_cmd_t  Klima/OG_C64E1A/fan/set
     2020-06-23 17:55:22   fan_mode_stat_t Klima/OG_C64E1A/state
     2020-06-23 17:55:22   fan_mode_stat_tpl {{ value_json.fan if (value_json is defined and value_json.fan is defined and value_json.fan|length) else 'AUTO' }}
     2020-06-23 17:55:22   fan_modes_1     AUTO
     2020-06-23 17:55:22   fan_modes_2     QUIET
     2020-06-23 17:55:22   fan_modes_3     1
     2020-06-23 17:55:22   fan_modes_4     2
     2020-06-23 17:55:22   fan_modes_5     3
     2020-06-23 17:55:22   fan_modes_6     4
     2020-06-23 17:55:22   max_temp        31
     2020-06-23 17:55:22   min_temp        16
     2020-06-24 09:37:25   mode            off
     2020-06-23 17:55:22   mode_cmd_t      Klima/OG_C64E1A/mode/set
     2020-06-23 17:55:22   mode_stat_t     Klima/OG_C64E1A/state
     2020-06-23 17:55:22   mode_stat_tpl   {{ value_json.mode if (value_json is defined and value_json.mode is defined and value_json.mode|length) else 'off' }}
     2020-06-23 17:55:22   modes_1         heat_cool
     2020-06-23 17:55:22   modes_2         cool
     2020-06-23 17:55:22   modes_3         dry
     2020-06-23 17:55:22   modes_4         heat
     2020-06-23 17:55:22   modes_5         fan_only
     2020-06-23 17:55:22   modes_6         off
     2020-06-23 17:55:22   name            OG_C64E1A
     2020-06-23 17:55:22   pow_cmd_t       Klima/OG_C64E1A/power/set
     2020-06-24 09:37:25   roomTemperature 27.5
     2020-06-23 18:32:00   state           set_COOL
     2020-06-23 14:39:33   subscriptions   Klima/OG_C64E1A/custom/send Klima/OG_C64E1A/debug/set Klima/OG_C64E1A/fan/set Klima/OG_C64E1A/mode/set Klima/OG_C64E1A/power/set Klima/OG_C64E1A/temp/set Klima/OG_C64E1A/vane/set
     2020-06-23 17:55:22   swing_mode_cmd_t Klima/OG_C64E1A/vane/set
     2020-06-23 17:55:22   swing_mode_stat_t Klima/OG_C64E1A/state
     2020-06-23 17:55:22   swing_mode_stat_tpl {{ value_json.vane if (value_json is defined and value_json.vane is defined and value_json.vane|length) else 'AUTO' }}
     2020-06-23 17:55:22   swing_modes_1   AUTO
     2020-06-23 17:55:22   swing_modes_2   1
     2020-06-23 17:55:22   swing_modes_3   2
     2020-06-23 17:55:22   swing_modes_4   3
     2020-06-23 17:55:22   swing_modes_5   4
     2020-06-23 17:55:22   swing_modes_6   5
     2020-06-23 17:55:22   swing_modes_7   SWING
     2020-06-23 17:55:22   temp_cmd_t      Klima/OG_C64E1A/temp/set
     2020-06-23 17:55:22   temp_stat_t     Klima/OG_C64E1A/state
     2020-06-23 17:55:22   temp_stat_tpl   {% if (value_json is defined and value_json.temperature is defined) %}{% if (value_json.temperature|int > 16.00 and value_json.temperature|int < 31.00) %}{{ value_json.temperature }}{% elif (value_json.temperature|int < 16.00) %}16.00{% elif (value_json.temperature|int > 31.00) %}31.00{% endif %}{% else %}22.00{% endif %}
     2020-06-23 17:55:22   temp_step       1
     2020-06-24 09:37:25   temperature     23
     2020-06-23 17:55:22   unique_id       C64E1A
     2020-06-24 09:37:25   vane            1
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 0
   event-on-change-reading .*
   readingList HVAC_C64E1A:Klima/OG_C64E1A/state:.* { json2nameValue($EVENT) }
HVAC_C64E1A:Klima/OG_C64E1A/settings:.* { json2nameValue($EVENT) }
   room       Klimatest
   setList    AUTO:noArg Klima/OG_C64E1A/mode/set AUTO
HEAT:noArg Klima/OG_C64E1A/mode/set HEAT
COOL:noArg Klima/OG_C64E1A/mode/set COOL
DRY:noArg Klima/OG_C64E1A/mode/set DRY
FAN_ONLY:noArg Klima/OG_C64E1A/mode/set FAN_ONLY
OFF:noArg Klima/OG_C64E1A/mode/set OFF
ON:noArg Klima/OG_C64E1A/mode/set ON
   setStateList AUTO HEAT COOL DRY FAN_ONLY OFF ON
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 24 Juni 2020, 10:37:06
Moin,

das mit dem Howto kannst du gerne übernehmen...

Kannst du mal ein RAW einstellen? Vorab: Was die Readings angeht, sieht es danach aus, als wäre das autodiscovery für homeassistant mal aktiv gewesen? Diese Teile bitte vorher löschen...

Von der Zielrichtung her würde ich eher dazu neigen, (auch von der Funktionalität her) das WEB-Interface mit Mitteln von MQTT2_DEVICE abzubilden, das sollte nicht so schwierig sein, aber die setList wäre dann anders. Wegen des Grundaufbaus und dem Temperatur-Thema kannst du dir mal insbesondere das attrTeplate "ems-esp_thermostat_simple" ansehen (und den Entwicklungsthread dazu).

Folgendes würde ich mal auf die Schnelle vorschlagen:
setList    mode:AUTO,HEAT,COOL,DRY,FAN_ONLY Klima/OG_C64E1A/mode/set $EVTPART1\
off:noArg Klima/OG_C64E1A/mode/set OFF\
on:noArg Klima/OG_C64E1A/mode/set ON\
desired-temp:slider,15.0,0.5,30.0,1 Klima/OG_C64E1A/temp/set $EVTPART1
   setStateList on off

Dann müssen wir uns noch um jsonMap usw. kümmern, damit die Rückmeldungen auch zu der setList passen usw..
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 24 Juni 2020, 14:38:17
Hallo,

tja, nun oute ich und komme mit noch mehr Fragen um die Ecke...
Zitat von: Beta-User am 24 Juni 2020, 10:37:06
das mit dem Howto kannst du gerne übernehmen...
Ja, das kann ich übernehmen. ABER: aktuell habe ich null Plan von den Templates und bin da weder durch die Datei (ok, desc o.ä. einfache Dinge sind klar), noch in der Forums-Templatesammlung durchgestiegen. Für eine Anleitung müsste ich halt erst einmal verstehen was, wo, warum eingetragen wird.

Zitat von: Beta-User am 24 Juni 2020, 10:37:06
Kannst du mal ein RAW einstellen?
Wenn du mir sagst wie, bzw. was du haben möchtest? Ein pcap Trace/Sniff was auf dem Netzwerk langgeht? Im FHEM MQTT server verbose auf 5 hochdrehen? Bin sonst zu allen Schandtaten bereit...

Homeassistant, bzw. auch autocreate war per default aktiv, ist jetzt aus. Readings habe ich nun alle gelöscht, neues list anbei

deletereading MQTT2_HVAC_C64E1A .*

Internals:
   CFGFN     
   CID        HVAC_C64E1A
   DEF        HVAC_C64E1A
   DEVICETOPIC MQTT2_HVAC_C64E1A
   FUUID      5ef1e804-f13f-a32b-ca0b-c43604eaf3b56dba
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 2887
   MQTT2_FHEM_Server_TIME 2020-06-24 13:58:16
   MSGCNT     2887
   NAME       MQTT2_HVAC_C64E1A
   NR         13421
   STATE      set_COOL
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2020-06-24 13:58:16   action          heating
     2020-06-24 13:58:16   fan             AUTO
     2020-06-24 13:58:16   mode            heat
     2020-06-24 13:58:16   roomTemperature 25.5
     2020-06-24 13:58:16   temperature     24
     2020-06-24 13:58:16   vane            1
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 0
   event-on-change-reading .*
   readingList HVAC_C64E1A:Klima/OG_C64E1A/state:.* { json2nameValue($EVENT) }
HVAC_C64E1A:Klima/OG_C64E1A/settings:.* { json2nameValue($EVENT) }
   room       Klimatest
   setList    mode:AUTO,HEAT,COOL,DRY,FAN_ONLY Klima/OG_C64E1A/mode/set $EVTPART1\
off:noArg Klima/OG_C64E1A/mode/set OFF\
on:noArg Klima/OG_C64E1A/mode/set ON\
desired-temp:slider,16.0,1,31.0,1 OG_Klima_C64E1A/OG_Schlafzimmer_Klima_C64E1A/temp/set $EVTPART1\
fan:1,2,3,4,AUTO,QUIET\ Klima/OG_C64E1A/fan/set $EVTPART1\
vane:1,2,3,4,5,SWING,AUTO\ Klima/OG_C64E1A/vane/set $EVTPART1\
wideVane:<<,<,|,>,>> Klima/OG_C64E1A/wideVane/set $EVTPART1
   setStateList on off


Zitat von: Beta-User am 24 Juni 2020, 10:37:06
Wegen des Grundaufbaus und dem Temperatur-Thema kannst du dir mal insbesondere das attrTeplate "ems-esp_thermostat_simple" ansehen (und den Entwicklungsthread dazu).
mache ich doch glatt. Hoffe ich verstehe es...

Zitat von: Beta-User am 24 Juni 2020, 10:37:06

Folgendes würde ich mal auf die Schnelle vorschlagen:
setList    mode:AUTO,HEAT,COOL,DRY,FAN_ONLY Klima/OG_C64E1A/mode/set $EVTPART1\
off:noArg Klima/OG_C64E1A/mode/set OFF\
on:noArg Klima/OG_C64E1A/mode/set ON\
desired-temp:slider,15.0,0.5,30.0,1 Klima/OG_C64E1A/temp/set $EVTPART1
   setStateList on off

Das ist doch schon mal richtig super! So etwas habe ich gesucht, und es noch kurz wie folgt erweitert:

setList    mode:AUTO,HEAT,COOL,DRY,FAN_ONLY Klima/OG_C64E1A/mode/set $EVTPART1\
off:noArg Klima/OG_C64E1A/mode/set OFF\
on:noArg Klima/OG_C64E1A/mode/set ON\
desired-temp:slider,15.0,0.5,30.0,1 Klima/OG_C64E1A/temp/set $EVTPART1
fan:1,2,3,4,AUTO,QUIET\ Klima/OG_C64E1A/fan/set $EVTPART1\
vane:1,2,3,4,5,SWING,AUTO\ Klima/OG_C64E1A/vane/set $EVTPART1\
wideVane:<<,<,|,>,>> Klima/OG_C64E1A/wideVane/set $EVTPART1
   setStateList on off

Für mich zum Verständnis: warum hast du die Zustände on und off gesondert behandelt (und nicht mit im mode erfasst)?

Zum Zustand an sich: in FHEM sieht es optisch ganz nett aus, aber es passiert schlicht und ergreifend noch nichts/gibt keine Änderungen
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 24 Juni 2020, 15:12:27
Hmm, also:

zu attrTemplate gibt es einen (kurzen) Wiki-Artikel, da sind die "par:"-Anweisungen usw. kurz erläutert.

Bei einer Anleitung sollte es mAn. genau darum gehen zu erläutern, wo man anfängt und in welcher Reihenfolge man was am zweckmäßigsten macht. Das hat auch erst mal recht wenig mit attrTemplate zu tun, sondern da geht es eigentlich um reine Konfiguration in FHEMWEB, die zum Teil nicht mal spezifisch für MQTT2_DEVICE ist. (Eigentlich wäre mein Lieblingsdevice für diese Übung ein Shelly-Plug-S (mit Energiemessung).)

Was attrTemplate angeht, brauchst du vermutlich erst mal das "Aha", das sich vermutlich einstellt, wenn du mal die RAW-Ansicht deines Devices gesehen hast: einfach unten in dessen Detailansicht mal nach RAW suchen, oder hier nachlesen: https://wiki.fhem.de/wiki/Import_von_Code_Snippets.

Weiterer grundlegender Lesestoff dazu: https://wiki.fhem.de/wiki/DeviceOverview_anpassen und https://wiki.fhem.de/wiki/FHEMWEB/Widgets (Bitte teste den dummy aus, auf dem die dortige Darstellung beruht!).



Das list sieht jedenfalls schon mal viel übersichtlicher aus; wir haben es scheinbar mal wieder mit einem "ich sende immer alles"-Device zu tun  >:( (man sollte auch hier dem Autor des Diensts vorschlagen, (ggf. optional) nur Differenz-updates zu schicken. Das wäre hier besonders wichtig, da wir ja updates des Messwerts (roomTemperature) bei jeder Messung haben wollen (?)).

Mach' mal in readingList das hier rein:
readingList Klima/OG_C64E1A/state:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Klima/OG_C64E1A/state:.* raw_json
und ergänze jsonMap, z.B. mit (du scheinst das Prinzip dann ja schnell zu verstehen und erweitern zu können):
attr MQTT2_HVAC_C64E1A jsonMap temperature:desired-temp
(dafür ist die Erweiterung der ersten Zeile, die zweite dient mir übergangsweise dazu einen Eindruck zu bekommen, wie die Datenstruktur der Rückgabe aussieht).
Die Sonderbehandlung von "on" und "off" hat mit "SetExtensions" zu tun (nicht erschrecken und das Stichwort hier nachschlagen: https://wiki.fhem.de/wiki/DevelopmentModuleIntro)
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 24 Juni 2020, 18:54:04
Was die Anleitung angeht: ich stehe immer noch auf dem Holzweg was das Template macht... Ersetzt das im Grunde nur die Definitionen die ich gerade per Hand vornehme? Wie auch immer: die Abendlektüre auf dem Tablet (ems-esp_thermostat_simple ==> https://forum.fhem.de/index.php/topic,104968.0.html) ist gesichert, sind ja doch ein paar Seiten mit zusätzlich zig Verweisen...

Das du "nur" die raw Definition des Devices aus FHEM haben wolltest, hättest du doch gleich sagen können ;-) Wobei die Infos davon doch auch (bis auf das defmod) im list sein sollten, oder? Egal, anbei noch einmal die aktuelle raw Definition, wobei ich (wo sinnvoll) ein paar Dinge schon ergänzt habe wie sie wohl sein sollten (ja, an das StateFormat muss ich noch mal ran, keine Ahnung warum er "Lüfter" nicht mag und wie ich die Ersetzung bei Zustand & Modus unterbinde).
[edit] habe alles auf die engl. Bezeichnungen umgestellt, so ergibt sich das Problem nicht...

IST: measured-temp°C, SOLL: desired-temp°C, Ventilator: fan, Zustand: action, Modus: mode

[/edit]

defmod MQTT2_HVAC_C64E1A MQTT2_DEVICE HVAC_C64E1A
attr MQTT2_HVAC_C64E1A IODev MQTT2_FHEM_Server
attr MQTT2_HVAC_C64E1A autocreate 0
attr MQTT2_HVAC_C64E1A event-on-change-reading .*
attr MQTT2_HVAC_C64E1A jsonMap roomTemperature:IST-Raumtemperatur\
temperature:SOLL-Raumtemperatur\
fan:Lüfter\
vane:Lamellen-horizontal\
action:Zustand\
mode:Modus
attr MQTT2_HVAC_C64E1A readingList HVAC_C64E1A:Klima/OG_C64E1A/state:.* { json2nameValue($EVENT,'',$JSONMAP) }\
HVAC_C64E1A:Klima/OG_C64E1A/state:.* raw_json\
HVAC_C64E1A:Klima/OG_C64E1A/settings:.* { json2nameValue($EVENT) }\
HVAC_C64E1A:Klima/OG_C64E1A/debug:.* { json2nameValue($EVENT) }\

attr MQTT2_HVAC_C64E1A room MQTT2_DEVICE
attr MQTT2_HVAC_C64E1A setList Modus:select,heat_cool,heat,cool,dry,fan_only HVAC_C64E1A:Klima/OG_C64E1A/mode/set $EVTPART1\
off:noArg HVAC_C64E1A:Klima/OG_C64E1A/mode/set OFF\
on:noArg HVAC_C64E1A:Klima/OG_C64E1A/mode/set ON\
SOLL-Raumtemperatur:slider,16.0,1,31.0,1 HVAC_C64E1A:Klima/OG_C64E1A/temp/set $EVTPART1\
Lüfter:select,1,2,3,4,AUTO,QUIET HVAC_C64E1A:Klima/OG_C64E1A/fan/set $EVTPART1\
Lamellen-horizontal:select,1,2,3,4,5,SWING,AUTO HVAC_C64E1A:Klima/OG_C64E1A/vane/set $EVTPART1\
Lamellen-vertikal:select,<<,<,|,>,>> HVAC_C64E1A:Klima/OG_C64E1A/wideVane/set $EVTPART1
attr MQTT2_HVAC_C64E1A setStateList on off
attr MQTT2_HVAC_C64E1A stateFormat IST: IST-Raumtemperatur°C, SOLL: SOLL-Raumtemperatur°C, Lüfter: Lüfter, Zustand: Zustand, Modus: Modus

setstate MQTT2_HVAC_C64E1A IST: 25°C, SOLL: 24°C, Lüfter: Lüfter, cooling: cooling, cool: cool
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:44:55 IST-Raumtemperatur 25
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:44:55 Lamellen-horizontal 1
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:44:55 Lüfter AUTO
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:44:55 Modus cool
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:44:55 SOLL-Raumtemperatur 24
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:44:55 Zustand cooling
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:43:05 fan AUTO
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:43:05 mode cool
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:44:55 raw_json {"roomTemperature":25,"temperature":24,"fan":"AUTO","vane":"1","action":"cooling","mode":"cool"}
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:39:46 state set_on
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:43:05 temperature 24
setstate MQTT2_HVAC_C64E1A 2020-06-24 18:43:05 vane 1


Das Device schickt alle 30sec die IST-Raumtemperatur rum, wobei es aber nur ein topic mit dem aktuellen (Gesamt-)Zustand gibt und deshalb immer sämtliche Zustände übermittelt werden ==> ändere ich z.B. die Lüfterstufe (hier: von quiet auf Stufe 2), dann erhalte ich folgendes

MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":25,"temperature":23,"fan":"QUIET","vane":"SWING","action":"cooling","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/settings:{"temperature":24,"fan":"2","vane":"1","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":24.5,"temperature":24,"fan":"2","vane":"1","action":"cooling","mode":"cool"}

Ändert sich die angesprochene IST-Raumtemperatur (hier: von 24,5 auf 24°C), gibt es halt wieder die Ausgabe

MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":24.5,"temperature":24,"fan":"2","vane":"1","action":"cooling","mode":"cool"}
MQTT2_SERVER MQTT2_FHEM_Server Klima/OG_C64E1A/state:{"roomTemperature":24,"temperature":24,"fan":"2","vane":"1","action":"cooling","mode":"cool"}

Also ja, man könnte es zum einen auf die Einzelwerte reduzieren, aber dafür müsste man für jeden Wert ein eigenes topic anlegen. Ob das so viel besser ist, weiß ich nicht. Und ja, sinnvoller wäre es vor allem zudem nur bei Änderungen ein Update zu schicken. Mal sehen ob das was wird. Bis dahin gibt es ein

event-on-change-reading .*

um Ruhe zu haben.
SetExtensions hört sich auch sinnvoll an, wenn man das duch die Sonderbehandlung quasi "gratis" mitbekommt, dann nehme ich das gerne um später einfach so Dinge wie kühlen für 1h umzusetzen.
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 24 Juni 2020, 20:46:38
Im Prinzip ist attrTemplate dazu gedacht, einen vorgefertigten Satz Attribute festzulegen, also genau das, was wir hier machen.
Von daher ist attrTemplates für ein MQTT2_DEVICE erstellen und ein MQTT2_DEVICE sauber zu konfigurieren im Prinzip dasselbe - nur ist das attrTemplate dann zentral verteilt und kann uU. ein paar mehr Varianten berücksichtigen, Nutzerrückfragen auslösen usw..

Das HowTo wäre daher aus meiner Sicht eben eine Art Sammlung von typischen Fragen (angefangen von on/off und was sollte nach "state" bzw. setStateList - falls du noch ein paar mehr suchst, wäre das Stichwort "sonos2mqtt" noch eine sinnvolle Erweiterung der Abendlektüre, wenn auch nicht mehr unmittelbar so relevant für dein konkretes Problem hier.

Zu dem event-on-change-Thema gibt es noch das 6-fach-Ethernet-Relais, da ist "hübscher" Perl-Code drin, den wir bei dieser Sache hier m.E. "nur" damit garnieren müßten, dass wir den JSON wegen der Ist-Temperatur immer auswerten (=> separeate Zeile in rList) und auch den Wert triggernd aktualisieren. (Vorschlag kann ich gerne dann machen, wenn du nicht alleine klarkommst, wir aber über das Vorgehen einig sind).

Das RAW ist deswegen einfacher, weil ich nichts groß umformatieren muß ;) .

Die Änderung von desired-temp in SOLL-Raumtemperatur finde ich nicht so toll, mein Vorschlag hatte einen sehr konkreten Hintergrund (siehe ems-esp), und überhaupt gehen Umlaute als Readingnamen gar nicht (zu sinnhaften Readingnamen steht etwas mehr im "sonos"-Thread; man kann dann eventMap nutzen, um es "einzudeutschen").

Der settings-Zweig scheint die Differenzrückmeldung bei erfolgreichem Setzen zu sein - sehr schön! Kann man dann gleich auch passend $JSONMAP-mappen und immer triggernd umsetzen...

Du siehst also: immer wieder dieselben Fragen bzw. logischen Stufen, die aufeinander aufbauen, "jemand" sollte es eben - bezogen auf MQTT2_DEVICE - mal Wiki-gerecht aufschreiben (das Übertragen in die Wiki-Sprache mache ich dann mit Freude, falls du dich da nicht eindenken willst - unformatierter und nur grob strukturierter Text wäre völlig ausreichend...).




Ergänzend evtl. noch:
https://forum.fhem.de/index.php/topic,93999.0.html ist ein Beispiel, wie man sowas mAn. völlig überkompliziert lösen kann, indem man die Informationen über mehrere Devices verteilt, die zueinander passen müssen...
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 26 Juni 2020, 09:13:49
Musst mir noch mal ~1Woche geben, werde die HW und SW komplett umbauen müssen:
- die Umsetzung hat zig Fehler (hatte jetzt schon einen Hänger und ein Reconnect) und Unschönheiten ("dauersenden", falsche Doku...)
- bis jetzt sind meine restlichen Sensoren an Tasmota, aber für ESPEasy gibt es auch schon was ==> flashe meine NodeMCUs um
- als zusätzliche HW kommt noch gleich ein BME280 (Temp, Druck, Feuchte), Tür-/Fensterkontakt (Klima hängt eh überm Sturz) und Radarsensor/Präsenzerkennung dazu
Danach geht es weiter
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 09 Juli 2020, 09:26:59
Hallo,

entschuldige die Verzögerung, aber hat (mal wieder) alles länger gedauert als es sollte. Die HW hat zicken gemacht, dafür ist jetzt aus dem 1. Protoypen der 2. Protoyp entstanden der so langsam keine Wünsche mehr offen lässt:
- weiterhin ein NodeMCU Dev Board als Grundlage
- 3V3 <-> 5V Level Shifter zur Absicherung der IOs des ESP (ja, 5V geht meistens gut am ESP, aber kann auch schief gehen da die IOs nur 3V3 vertragen lt. Spec)
- BME280 (Temp, Druck, Feuchte) Sensor
- Tür-/Fensterkontakt über Reedkontakt/-Schalter
- Radarsensor zur Anwesenheitserkennung im Raum

Aus diesem Grund sehen die Topics nun ein wenig anders aus

defmod OG_SZ_Klima MQTT2_DEVICE Klima_OG_SZ
attr OG_SZ_Klima IODev MQTT2_FHEM_Server
attr OG_SZ_Klima autocreate 0
attr OG_SZ_Klima event-on-change-reading .*
attr OG_SZ_Klima jsonMap roomTemperature:measured-temp-aircon\
wideVane:horizontal-vane\
power:onoff\
mode:mode\
fan:fan\
vane:vertical-vane\
iSee:0\
temperature:desired-temp
attr OG_SZ_Klima readingList Klima_OG_SZ:Klima_OG_SZ/status/LWT:.* LWT\
Klima_OG_SZ:Klima_OG_SZ/aircon/settings:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Klima_OG_SZ:Klima_OG_SZ/clima/Temperature:.* measured-temp\
Klima_OG_SZ:Klima_OG_SZ/clima/Humidity:.* Humidity\
Klima_OG_SZ:Klima_OG_SZ/clima/Pressure:.* Pressure\
Klima_OG_SZ:Klima_OG_SZ/presence/state:.* room-presence\
Klima_OG_SZ:Klima_OG_SZ/door/state:.* doorstate
attr OG_SZ_Klima room MQTT2_DEVICE
attr OG_SZ_Klima setList on:noArg Klima_OG_SZ/aircon/settings/cmd MitsubishiHP,power,ON\
off:noArg Klima_OG_SZ/aircon/settings/cmd MitsubishiHP,power,OFF\
desired-temp:slider,16.0,1,31.0,1 Klima_OG_SZ/aircon/settings/cmd MitsubishiHP,temperature,$EVTPART1\
mode:select,HEAT,COOL,FAN,DRY,AUTO Klima_OG_SZ/aircon/settings/cmd MitsubishiHP,mode,$EVTPART1\
fan:select,1,2,3,4,AUTO,QUIET Klima_OG_SZ/aircon/settings/cmd MitsubishiHP,fan,$EVTPART1\
horizontal-vane:select,1,2,3,4,5,SWING,AUTO Klima_OG_SZ/aircon/settings/cmd MitsubishiHP,vane,$EVTPART1\
vertical-vane:select,<<,<,|,>,>>,<>,SWING Klima_OG_SZ/aircon/settings/cmd MitsubishiHP,widevane,$EVTPART1
attr OG_SZ_Klima setStateList on off
attr OG_SZ_Klima stateFormat IST: measured-temp°C Humidity%, SOLL: desired-temp°C, Power: onoff, Modus: mode, Ventilator: fan, Lamellen: vertical-vane horizontal-vane

setstate OG_SZ_Klima IST: Temperature°C 51%, SOLL: 23.0°C, Power: OFF, Modus: COOL, Ventilator: AUTO, Lamellen: 1 SWING
setstate OG_SZ_Klima 2020-07-09 09:19:48 Humidity 51
setstate OG_SZ_Klima 2020-07-09 09:19:48 Pressure 1014
setstate OG_SZ_Klima 2020-07-08 23:38:26 desired-temp 23.0
setstate OG_SZ_Klima 2020-07-09 08:59:37 doorstate 1
setstate OG_SZ_Klima 2020-07-08 23:38:26 fan AUTO
setstate OG_SZ_Klima 2020-07-08 23:38:26 horizontal-vane SWING
setstate OG_SZ_Klima 2020-07-09 09:19:48 measured-temp 22.1
setstate OG_SZ_Klima 2020-07-08 23:38:26 measured-temp-aircon 23.0
setstate OG_SZ_Klima 2020-07-08 23:38:26 mode COOL
setstate OG_SZ_Klima 2020-07-08 23:38:26 onoff OFF
setstate OG_SZ_Klima 2020-07-09 09:19:03 room-presence 0
setstate OG_SZ_Klima 2020-07-06 19:39:02 state set_off
setstate OG_SZ_Klima 2020-07-08 23:38:26 vertical-vane 1

Muss mich jetzt durch die Abendlektüre kämpfen, dann geht es weiter
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: juemuc am 10 Juli 2020, 22:21:29
Hallo,

welche Klimaanlage hast Du denn?
Bei uns ist ein MSZ-AP35 mit WLAN-Modul (Mel-Cloud) und ein MSZ-AP20 eingebaut.

Viele Grüße
Jürgen
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 11 Juli 2020, 21:32:04
Hallo Jürgen,

in den kleinen Räumen auch die MSZ-AP20, sonst die 25er. Bei der kleinen ist es super praktisch, da kannst du unten rechts eine Ecke vom Gehäuse ausklinken und dort den WLAN Adapter unterbringen, eine Kabeldurchführung nach außen (bei mir: Türkontakt, Temp/Luftfeuchte und Radarsensor) ist auch gleich mit dabei. Bei dem großen Gerät kommt man dafür viel einfacher an den Anschluss auf der Platine, bei der kleinen 20er musste man den ganzen Deckel abschrauben...
Irgendwie hat Mitsubishi da unterschiedlcihe Geräte zusammengebastelt ;-) Aber mit einem ESP funktioniert es echt tip top. Nur die Rückmeldung dauert teilweise ~2sec, der Prozessor in der Klima ist da wohl nicht der schnellste, bzw. gibt Änderungen nicht sofort wieder aus (hatte mal nen Log/Sniff mitgeschrieben).
Da du die Melcloud hast: hat dein Außengerät auch eine Schnittstelle?

Gruß, Robert
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: juemuc am 11 Juli 2020, 23:31:59
Hallo Robert,

nein das Aussengerät hat keine Schnittstelle. Es bedient ja die beiden Innengeräte  ;D
Für was nutzt Du die zusätzlichen Informationen Türkontakt, Temp/Luftfeuchte und Radarsensor ?
Ich nutze aktuell nur fertige "Schnittstellen"  ::) Dadurch habe ich aktuell natürlich keine Anbindung der der Klimanalgae  :-[ Aber jetzt weiß ich zumindest, dass es möglich ist  8)

Viele Grüße

Jürgen


Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 21 August 2020, 08:05:10
Hallo allwissendes Forum,

ich hab es nun auch geschafft einen D1 mini an meine Klima zu pömplen  :-)

Der FHEMinterne MQTT Server läuft und die Devices kommen per Autokonfig.
Die Werte kann ich auch alle auslesen.

Was ich nicht schaffe ist alles so zu konfigurieren, dass ich die Werte auch ändern kann :-(

Könnte bitte jemand seine funktionierende Konfig hier poste oder mir schicken.

Vielen Dank & Grüße
Jürgen
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 23 August 2020, 08:48:54
mir würde erstmal schon reichen zu wissen was und in welchem Format ich bei "setList" eintragen muss.

hab alles aus mögliche aus dem Wiki: "MQTT2-Module - Praxisbeispiele" probiert aber nix funktioniert :-(
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: rudolfkoenig am 23 August 2020, 11:38:14
Womoeglich hilft die Dokumentation hier: http://fhem.de/commandref_modular.html#MQTT2_DEVICEattr:
ZitatsetList cmd [topic|perl-Expression] ...
When the FHEM command cmd is issued, publish the topic. Multiple tuples can be specified, each of them separated by newline, the newline does not have to be entered in the FHEMWEB frontend. Example:
  attr dev setList\
    on tasmota/sonoff/cmnd/Power1 on\
    off tasmota/sonoff/cmnd/Power1 off
This example defines 2 set commands (on and off), which both publish the same topic, but with different messages (arguments).
Notes:
arguments to the set command will be appended to the message published (not for the perl expression)
the command arguments are available as $EVENT, $EVTPART0, etc., the name of the device as $NAME, both in the perl expression and the "normal" topic variant.
the perl expression must return a string containing the topic and the message separated by a space.
SetExtensions is activated
if the topic name ends with :r, then the retain flag is set

Die Topics, auf dem dein Endgeraet hoert, sieht man im subscriptions Reading im Detailansicht.
Die exakte Topic-Bezeichnug, bzw. welche MQTT-Messages bei einem topic verarbeitet werden, kriegt man aus dem Geraetedokumentation raus.
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 23 August 2020, 14:56:21
das ist mein subscriptions Reading:

mitsubishi2mqtt/GUESTklima/custom/send mitsubishi2mqtt/GUESTklima/debug/set mitsubishi2mqtt/GUESTklima/fan/set
mitsubishi2mqtt/GUESTklima/mode/set mitsubishi2mqtt/GUESTklima/power/set mitsubishi2mqtt/GUESTklima/remote_temp/set
mitsubishi2mqtt/GUESTklima/temp/set mitsubishi2mqtt/GUESTklima/vane/set


Das hab ich bei setList eingetragen, funktioniert aber nicht

off: mitsubishi2mqtt/GUESTklima/power/set {"state":"OFF"}\
on: mitsubishi2mqtt/GUESTklima/power/set {"state":"ON"}
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 23 August 2020, 17:48:16
@jurkub:
zeig doch mal bitte ein List deiner Klima/deines devices und verrate uns auch die Einstellungen die du in ESPEasy - Let's Control It vorgenommen hast.
Ansonsten:

defmod OG_AZ_Klima_MQTT2 MQTT2_DEVICE Klima_OG_AZ_
attr OG_AZ_Klima_MQTT2 IODev MQTT2_FHEM_Server
attr OG_AZ_Klima_MQTT2 autocreate 0
attr OG_AZ_Klima_MQTT2 event-on-change-reading .*
attr OG_AZ_Klima_MQTT2 jsonMap roomTemperature:measured-temp-aircon\
wideVane:horizontal-vane\
power:onoff\
mode:mode\
fan:fan\
vane:vertical-vane\
iSee:0\
temperature:desired-temp
attr OG_AZ_Klima_MQTT2 readingList Klima_OG_AZ_:Klima_OG_AZ_/status/LWT:.* LWT\
Klima_OG_AZ_:Klima_OG_AZ_/aircon/settings:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Klima_OG_AZ_:Klima_OG_AZ_/clima/Temperature:.* measured-temp\
Klima_OG_AZ_:Klima_OG_AZ_/clima/Humidity:.* Humidity\
Klima_OG_AZ_:Klima_OG_AZ_/clima/Pressure:.* Pressure\
Klima_OG_AZ_:Klima_OG_AZ_/presence/state:.* room-presence\
Klima_OG_AZ_:Klima_OG_AZ_/door/state:.* doorstate
attr OG_AZ_Klima_MQTT2 room MQTT2_DEVICE
attr OG_AZ_Klima_MQTT2 setList on:noArg Klima_OG_AZ_/aircon/settings/cmd MitsubishiHP,power,ON\
off:noArg Klima_OG_AZ_/aircon/settings/cmd MitsubishiHP,power,OFF\
desired-temp:slider,16.0,1,31.0,1 Klima_OG_AZ_/aircon/settings/cmd MitsubishiHP,temperature,$EVTPART1\
mode:select,HEAT,COOL,FAN,DRY,AUTO Klima_OG_AZ_/aircon/settings/cmd MitsubishiHP,mode,$EVTPART1\
fan:select,1,2,3,4,AUTO,QUIET Klima_OG_AZ_/aircon/settings/cmd MitsubishiHP,fan,$EVTPART1\
horizontal-vane:select,1,2,3,4,5,SWING,AUTO Klima_OG_AZ_/aircon/settings/cmd MitsubishiHP,vane,$EVTPART1\
vertical-vane:select,<<,<,|,>,>>,<>,SWING Klima_OG_AZ_/aircon/settings/cmd MitsubishiHP,widevane,$EVTPART1
attr OG_AZ_Klima_MQTT2 setStateList on off
attr OG_AZ_Klima_MQTT2 stateFormat IST: measured-temp°C Humidity%, SOLL: desired-temp°C, Power: onoff, Modus: mode, Ventilator: fan, Lamellen: vertical-vane horizontal-vane


Mit der config reicht dann eigentlich ein einfaches set (modus, an/aus, temp, Lamellen...) aus, also z.B.

set OG_AZ_Klima_MQTT2 on
set OG_AZ_Klima_MQTT2 desired-temp 23


Zu dem D1: der ESP verträgt _keine_ 5V, auch nicht an der seriellen Schnittstelle. Mir unerklärlich warum die ganzen Anleitungen im Netz voll davon sind, aber das ist m.E. Geiz am falschen Ende und Platz ist auch gnügend vorhanden. Nicht das du dir den IO Pin geschossen hast... Vermutlich funktioniert es aber mit ein wenig Glück, weil in der Klima ein R in Reihe sitzt.

Viel Erfolg

Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 23 August 2020, 18:13:16

define MQTT2_FHEM_Server MQTT2_SERVER 1883 global
setuuid MQTT2_FHEM_Server 5f3e6a0e-f33f-00aa-e539-155f0498e099e9a5
attr MQTT2_FHEM_Server verbose 5



define MQTT2_HVAC_1c977 MQTT2_DEVICE HVAC_1c977
setuuid MQTT2_HVAC_1c977 5f3e8cdd-f33f-00aa-b233-392ace187b21aefd
attr MQTT2_HVAC_1c977 IODev MQTT2_FHEM_Server
attr MQTT2_HVAC_1c977 readingList HVAC_1c977:homeassistant/climate/GUESTklima/config:.* { json2nameValue($EVENT) }\
HVAC_1c977:mitsubishi2mqtt/GUESTklima/state:.* { json2nameValue($EVENT) }\
HVAC_1c977:mitsubishi2mqtt/GUESTklima/settings:.* { json2nameValue($EVENT) }
attr MQTT2_HVAC_1c977 room MQTT2_DEVICE
attr MQTT2_HVAC_1c977 setList off: mitsubishi2mqtt/GUESTklima/power/set {"state":"OFF"}\\
on: mitsubishi2mqtt/GUESTklima/power/set {"state":"ON"}\


auf dem D1 mini läuft diese Software:
https://github.com/gysmo38/mitsubishi2MQTT (https://github.com/gysmo38/mitsubishi2MQTT)
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 24 August 2020, 08:33:55
Ich hab nochmal rumprobiert aber leider ohne Erfolg
Im fhem Log geht der Befehl wohl auch raus aber an der Klima tut sich nix

Über das Web-Frontend der D1 Mini Software lässt die Klima sich problemlos steuern !

list MQTT2_HVAC_1c977

Internals:
   CFGFN     
   CID        HVAC_1c977
   DEF        HVAC_1c977
   DEVICETOPIC MQTT2_HVAC_1c977
   FUUID      5f3e8cdd-f33f-00aa-b233-392ace187b21aefd
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 12255
   MQTT2_FHEM_Server_TIME 2020-08-24 08:31:51
   MSGCNT     12255
   NAME       MQTT2_HVAC_1c977
   NR         11618
   STATE      mode
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-08-24 08:31:24   action          off
     2020-08-24 08:20:20   action_template {{ value_json.action if (value_json is defined and value_json.action is defined and value_json.action|length) else 'idle' }}
     2020-08-24 08:20:20   action_topic    mitsubishi2mqtt/GUESTklima/state
     2020-08-24 08:20:20   curr_temp_t     mitsubishi2mqtt/GUESTklima/state
     2020-08-24 08:20:20   curr_temp_tpl   {{ value_json.roomTemperature if (value_json is defined and value_json.roomTemperature is defined and value_json.roomTemperature|int > 8.00) else '26.00' }}
     2020-08-24 08:20:20   device_ids      GUESTklima
     2020-08-24 08:20:20   device_mdl      HVAC MITSUBISHI
     2020-08-24 08:20:20   device_mf       MITSUBISHI ELECTRIC
     2020-08-24 08:20:20   device_name     GUESTklima
     2020-08-24 08:20:20   device_sw       Mitsubishi2MQTT 0.7.3
     2020-08-24 08:31:24   fan             QUIET
     2020-08-24 08:20:20   fan_mode_cmd_t  mitsubishi2mqtt/GUESTklima/fan/set
     2020-08-24 08:20:20   fan_mode_stat_t mitsubishi2mqtt/GUESTklima/state
     2020-08-24 08:20:20   fan_mode_stat_tpl {{ value_json.fan if (value_json is defined and value_json.fan is defined and value_json.fan|length) else 'AUTO' }}
     2020-08-24 08:20:20   fan_modes_1     AUTO
     2020-08-24 08:20:20   fan_modes_2     QUIET
     2020-08-24 08:20:20   fan_modes_3     1
     2020-08-24 08:20:20   fan_modes_4     2
     2020-08-24 08:20:20   fan_modes_5     3
     2020-08-24 08:20:20   fan_modes_6     4
     2020-08-24 08:20:20   max_temp        31
     2020-08-24 08:20:20   min_temp        16
     2020-08-24 08:31:24   mode            off
     2020-08-24 08:20:20   mode_cmd_t      mitsubishi2mqtt/GUESTklima/mode/set
     2020-08-24 08:20:20   mode_stat_t     mitsubishi2mqtt/GUESTklima/state
     2020-08-24 08:20:20   mode_stat_tpl   {{ value_json.mode if (value_json is defined and value_json.mode is defined and value_json.mode|length) else 'off' }}
     2020-08-24 08:20:20   modes_1         heat_cool
     2020-08-24 08:20:20   modes_2         cool
     2020-08-24 08:20:20   modes_3         dry
     2020-08-24 08:20:20   modes_4         heat
     2020-08-24 08:20:20   modes_5         fan_only
     2020-08-24 08:20:20   modes_6         off
     2020-08-24 08:20:20   name            GUESTklima
     2020-08-24 08:31:50   packetRecv      fc 62 01 30 10 02 00 00 00 07 07 01 01 00 00 03 b0 00 00 00 00 98
     2020-08-24 08:31:51   packetSent      fc 42 01 30 10 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7a
     2020-08-24 08:20:20   pow_cmd_t       mitsubishi2mqtt/GUESTklima/power/set
     2020-08-24 08:31:24   roomTemperature 22.5
     2020-08-24 08:29:22   state           mode
     2020-08-20 16:46:54   subscriptions   mitsubishi2mqtt/GUESTklima/custom/send mitsubishi2mqtt/GUESTklima/debug/set mitsubishi2mqtt/GUESTklima/fan/set mitsubishi2mqtt/GUESTklima/mode/set mitsubishi2mqtt/GUESTklima/power/set mitsubishi2mqtt/GUESTklima/remote_temp/set mitsubishi2mqtt/GUESTklima/temp/set mitsubishi2mqtt/GUESTklima/vane/set
     2020-08-24 08:20:20   swing_mode_cmd_t mitsubishi2mqtt/GUESTklima/vane/set
     2020-08-24 08:20:20   swing_mode_stat_t mitsubishi2mqtt/GUESTklima/state
     2020-08-24 08:20:20   swing_mode_stat_tpl {{ value_json.vane if (value_json is defined and value_json.vane is defined and value_json.vane|length) else 'AUTO' }}
     2020-08-24 08:20:20   swing_modes_1   AUTO
     2020-08-24 08:20:20   swing_modes_2   1
     2020-08-24 08:20:20   swing_modes_3   2
     2020-08-24 08:20:20   swing_modes_4   3
     2020-08-24 08:20:20   swing_modes_5   4
     2020-08-24 08:20:20   swing_modes_6   5
     2020-08-24 08:20:20   swing_modes_7   SWING
     2020-08-24 08:20:20   temp_cmd_t      mitsubishi2mqtt/GUESTklima/temp/set
     2020-08-24 08:20:20   temp_stat_t     mitsubishi2mqtt/GUESTklima/state
     2020-08-24 08:20:20   temp_stat_tpl   {% if (value_json is defined and value_json.temperature is defined) %}{% if (value_json.temperature|int > 16.00 and value_json.temperature|int < 31.00) %}{{ value_json.temperature }}{% elif (value_json.temperature|int < 16.00) %}16.00{% elif (value_json.temperature|int > 31.00) %}31.00{% endif %}{% else %}22.00{% endif %}
     2020-08-24 08:20:20   temp_step       1
     2020-08-24 08:31:24   temperature     24
     2020-08-24 08:20:20   unique_id       1c977
     2020-08-24 08:31:24   vane            1
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList HVAC_1c977:homeassistant/climate/GUESTklima/config:.* { json2nameValue($EVENT) }
HVAC_1c977:mitsubishi2mqtt/GUESTklima/state:.* { json2nameValue($EVENT) }
HVAC_1c977:mitsubishi2mqtt/GUESTklima/settings:.* { json2nameValue($EVENT) }
HVAC_1c977:mitsubishi2mqtt/GUESTklima/debug:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    mode:select,HEAT,COOL,FAN,DRY,AUTO HVAC_1c977:mitsubishi2mqtt/GUESTklima/settings/cmd mitsubishi2mqtt/GUESTklima/mode/set $EVTPART1


Beschreibung der Software auf dem D1 Mini

For nodered fans MQTT topic use cases

    topic/power/set OFF
    topic/mode/set AUTO HEAT COOL DRY FAN_ONLY OFF ON
    topic/temp/set 16-31
    topic/remote_temp/set also called "room_temp", the implementation defined in "HeatPump" seems not work in some models
    topic/fan/set 1-4 AUTO QUIET
    topic/vane/set 1-5 SWING AUTO
    topic/wideVane/set << < | > >>
    topic/settings
    topic/state
    topic/debug
    topic/debug/set on off
    topic/custom/send as example "fc 42 01 30 10 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7b " see https://github.com/SwiCago/HeatPump/blob/master/src/HeatPump.h

Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 24 August 2020, 09:26:07
Das Rumprobieren hilft in der Regel nicht, das was auf der MQTT-Ebene stattfindet, sollte dem entsprechen, was in der Doku steht (und wenn es dann nicht funktioniert als bug im betreffenden Projekt gemeldet werden).

Wenn die Doku paßt, mal als ersten Test bitte damit starten (RAW-Code, den dann bitte  auch zukünftig posten für weitere Versuche und bitte auch keine cfg-Edits machen!):
demod MQTT2_HVAC_1c977 MQTT2_DEVICE HVAC_1c977
attr MQTT2_HVAC_1c977 IODev MQTT2_FHEM_Server
attr MQTT2_HVAC_1c977 readingList homeassistant/climate/GUESTklima/config:.* { }\
  mitsubishi2mqtt/GUESTklima/state:.* { json2nameValue($EVENT) }\
  mitsubishi2mqtt/GUESTklima/settings:.* { json2nameValue($EVENT) }
attr MQTT2_HVAC_1c977 setList off: mitsubishi2mqtt/GUESTklima/power/set OFF\
  on: mitsubishi2mqtt/GUESTklima/mode/set ON


@Betonklotz: Du scheinst eine andere firmware (ESEasy?) zu nutzen, oder?
Ggf. könnten wir das irgendwie auch vertemplaten, aber dann sollte man auch klarer machen, welche firmware/settings usw., sonst paßt das alles nicht so recht zusammen...
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 24 August 2020, 11:07:53
Template (sowohl das Template als auch ein How-To) ist auf der To-do Liste...
Ich kann für die Mitsubishi Eletric nur ESP easy empfehlen anstatt die "Splitterimplementierungen" wie z.B. von gysmo, da die letzendlich alle die identlische lib von SwiCago nutzen und "nur" MQTT selber drumherumbauen (was entsprechend fehlerträchtig ist).
+ große Entwicklergemeinde
+ parallel zur Klima können einfach weitere Sensoren integriert werden
+ Kommunikation erfolgt nur bei Änderungen (d.h. kein "Spam")
+ komplett OTA fähig
+ läuft stabil
+ zukunftsfähig (ESP32, weg von SPIFFS...)
Nachteile:
- kein SSL (das nervt mich am meisten)
- kein Webinterface für Statusänderungen (geht aber über Kommandozeile, nur halt nicht über ein klicki-bunti HMI)
Und ja, ich bin weg von den eigenständigen Implementierungen (gysmo, Chris Davis & Viet Dzung) und nutze ESP easy auf einem NodeDevMCU board + 3.3/5V Pegelwandler, da die anderen letzendlich nie stabil liefen
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 24 August 2020, 11:25:53
Hmm, na ja, das gysmo-Ding sieht nach einer Tasmota-Spielart aus, das sollte sollte sich eigentlich nicht viel nehmen (aber - mit Aufwand (https://tasmota.github.io/docs/TLS/) - SSL erlauben); kommt ggf. darauf an, ob das/die lib mittelfristig seinen Weg in die "offizielle" Doku findet.

Aber ESPEasy ist auch ok, und das mit der Doku/dem Template eilt nicht.

@jurkub: Schalte aber doch bitte in jedem Fall das Autodiscovery-Feature für homeassistant aus, das bringt in FHEM nichts außer Verwirrung und unnötigen Readings (daher hatte ich den Zweig auch direkt in der readingList "tot" gemacht).
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 24 August 2020, 12:51:39
Ich hab jetzt auf espeasy umgestellt finde aber in der Config (siehe Anhang) nicht das richtige Device.
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 24 August 2020, 13:07:44
Sollte P093 sein?
Hatte ich u.A. hieraus geschlossen (da gibt es ein paar weitere Hinweise, was einzustellen ist):
https://www.letscontrolit.com/forum/viewtopic.php?f=2&t=7678&p=44428&hilit=SwiCago#p44322
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 24 August 2020, 16:51:17
@jurkub:
du darfst nicht den stable Zweig nehmen, sondern musst den Zweig nehmen der auch "testing" enthält, denn das Klima Gedöns ist noch nicht offiziell frei:
https://github.com/letscontrolit/ESPEasy ==> ESP8266 (oder was auch immer dein D1 hat) und passenden Speicher wählen
wichtig: unter Tools -> Advanced -> Serial Settings den Haken rausnehmen damit der serielle Port für die Klima genutzt werden kann und nicht fürs Debugging
Dann unter Devices den "Energy (Heat) - Mitsubishi Heat Pump [TESTING]" Eintrag wählen und Einstellungen vornehmen wie du möchtest, bei mir z.B.

name: aircon
enabled: yes
serial port: GPIO-3 und GPIO-1
send to controller: anfangs noch nein, später dann ja
interval: 0 (= nur bei Änderungen die Daten schicken)

unter Controllers dann "Home Assistant (openHAB) MQTT" wählen, und Einstellungen wie du magst/bei dir hast, unten bei MQTT, z.B.

controller client ID: %sysname%/#
controller puplish: %sysname%/%tskname%/%valname%
und wichtig: Haken bei enabled

dann wieder unter devices gehen, dort die Klima anwählen und send to controller aktivieren. Nicht wundern wenn unter der devices Übersicht bei settings values ein NaN auftaucht, das ist "normal"
Ab dann hast du es auch in FHEM verfügbar.

@Beta-User: ja, SSL ist mehr als blöde. Habe zu Hause alles auf Tasmota laufen (bis auf die Klima) und hoffe ja inständig, dass die Klima auch mal in Tasmota umgesetzt wird, denn da hast du SSL von Haus aus mit drin. Mir fehlt nur das technische Wissen dazu...
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 24 August 2020, 17:58:03
es klappt einfach nicht :-(


define MQTT2_FHEM_Server MQTT2_SERVER 1883 global
setuuid MQTT2_FHEM_Server 5f43db6a-f33f-00aa-f280-8c6b15f1f35d361f
attr MQTT2_FHEM_Server room MQTT2_DEVICE

defmod OG_AZ_Klima_MQTT2 MQTT2_DEVICE Klima_OG_AZ_0

attr OG_AZ_Klima_MQTT2 IODev MQTT2_FHEM_Server
attr OG_AZ_Klima_MQTT2 autocreate 0
attr OG_AZ_Klima_MQTT2 event-on-change-reading .*

attr OG_AZ_Klima_MQTT2 jsonMap roomTemperature:measured-temp-aircon\
wideVane:horizontal-vane\
power:onoff\
mode:mode\
fan:fan\
vane:vertical-vane\
iSee:0\
temperature:desired-temp

attr OG_AZ_Klima_MQTT2 readingList Klima_OG_AZ_0:Klima_OG_AZ_0/status/LWT:.* LWT\
Klima_OG_AZ_0:Klima_OG_AZ_0/aircon/settings:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Klima_OG_AZ_0:Klima_OG_AZ_0/clima/Temperature:.* measured-temp\
Klima_OG_AZ_0:Klima_OG_AZ_0/clima/Humidity:.* Humidity\
Klima_OG_AZ_0:Klima_OG_AZ_0/clima/Pressure:.* Pressure\
Klima_OG_AZ_0:Klima_OG_AZ_0/presence/state:.* room-presence\
Klima_OG_AZ_0:Klima_OG_AZ_0/door/state:.* doorstate

attr OG_AZ_Klima_MQTT2 room MQTT2_DEVICE

attr OG_AZ_Klima_MQTT2 setList on:noArg Klima_OG_AZ_0/aircon/settings/cmd MitsubishiHP,power,ON\
off:noArg Klima_OG_AZ_0/aircon/settings/cmd MitsubishiHP,power,OFF\
desired-temp:slider,16.0,1,31.0,1 Klima_OG_AZ_0/aircon/settings/cmd MitsubishiHP,temperature,$EVTPART1\
mode:select,HEAT,COOL,FAN,DRY,AUTO Klima_OG_AZ_0/aircon/settings/cmd MitsubishiHP,mode,$EVTPART1\
fan:select,1,2,3,4,AUTO,QUIET Klima_OG_AZ_0/aircon/settings/cmd MitsubishiHP,fan,$EVTPART1\
horizontal-vane:select,1,2,3,4,5,SWING,AUTO Klima_OG_AZ_0/aircon/settings/cmd MitsubishiHP,vane,$EVTPART1\
vertical-vane:select,<<,<,|,>,>>,<>,SWING Klima_OG_AZ_0/aircon/settings/cmd MitsubishiHP,widevane,$EVTPART1

attr OG_AZ_Klima_MQTT2 setStateList on off
attr OG_AZ_Klima_MQTT2 stateFormat IST: measured-temp°C Humidity%, SOLL: desired-temp°C, Power: onoff, Modus: mode, Ventilator: fan, Lamellen: vertical-vane horizontal-vane
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 25 August 2020, 08:01:24
mach mal ein Reset von deinem Gerät, also einmal Strom weg und wieder an.
- wenn ich es auf deinem zweiten Screenshot richtig sehe, dann heißt dein Topic noch OG_AZ_Klima_0 (also mit "_0" dran, vermutlich hattest du mal die Option "append unit number" aktiviert gehabt), wobei die Option jetzt deaktivert ist ==> ggf. hat er da etwas nicht sauber übernommen
- den seriellen Port nutzt du nicht mehr fürs Logging wie ich oben geschrieben hatte?
- deine Definition mixt dann beide Schreibweisen durcheinander, also mit _0 hinten dran und ohne

Wenn es immer noch nicht geht:
- einmal im ESP unter Tools -> advanced log den Log hochdrehen und dann den log anschauen
- gleichzeitig in FHEM den Log anschauen
- und notfalsl per MQTT Sniffer (z.B. MQTT Toolbox, Explorer o.ä.) schauen

Nicht aufgeben, das wird schon
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 25 August 2020, 08:07:53
die Daten von der Klima kommen auf dem Fhem an !

@Betonklotz:
Kannst du bitte mal Screenshots von deinen aktuellen ESP Easy Config Seiten sowie deiner aktuellen Fhem.cfg posten.

Ich glaube da ist noch irgendwo ein copy&paste Fehler

Übrigens, danke für deine Mühe :-)
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 25 August 2020, 09:11:08
es bringt m.E. nichts wenn du nicht auf Fragen antwortest und/oder eingehst und nur ein simples c&p haben möchtest...
- dein Tx funktioniert noch, nicht das du den gehimmelt hast? ESP verträgt _keine_ 5V, an keinem einzigen seiner Pins!!!
- logging auf der seriellen Schnittstelle hast du deaktivert?
- reboot des D1 hast du durchgeführt
- du kennst deine Topics ganz genau (also z.B. mit oder ohne _0 hinten dran)
- auf welchem Topic empfängst du etwas?
- was für eine Klima hast du überhaupt? Sofern du einen WiFi Adapter verbaut hast: den hast du abgezogen (denn zwei Tx auf einer Leitung sind nciht so pralle...)?
Anbei noch Screenshots vom ESP, aber da gibt es kein Geheimnis und das passt auch bei dir. Keine Ahnung wofür du die benötigst... Die fhem config ist in einem meiner Posts davor.
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 25 August 2020, 14:21:21
es läuft !!!   :D :D :D
hab beim ESP einen Factory Reset gemacht und alles nochmal konfiguriert und dann ging's !

@Betonklotz Vielen Dank für deine Hilfe & Geduld
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 25 August 2020, 15:08:14
Laut meinem Klimabauer sollte man die Klima nach Kühlung und vor dem Ausschalten immer noch ca. 30 Minuten im Modus "Dry" trocknen.

Mein Plan ist jetzt ein Notify anzulegen das auf "set_off" reagiert und checkt ob der Modus "Cool" was und dann wieder einschaltet in den Modus "Dry" schaltet und ein At mit +30 anlegt und dann ausschaltet

Das mit den (Test) Notify funktioniert aber irgendwie nicht :-(

define JRG_Klima_MQTT2_Ntv notify JRG_Klima_MQTT2:off {fhem("set Lampe on")}
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: rudolfkoenig am 25 August 2020, 15:11:49
#1: Wenn man unsicher ist, dann sollte man notifies im Event-Monitor anlegen, indem man das richtige Event da markiert, und auf "Create/modify device" klickt.
#2: Bitte nicht unnoetiog kompliziert: {fhem("set Lampe on")} => set Lampe on
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Betonklotz am 25 August 2020, 18:21:24
Warum sollte man die Anlage auf Entfeuchten laufen lassen vor dem Ausschalten? Feuchtigkeit entziehen geht nur über ein Temperaturgefälle, d.h. am Ende arbeitet dein Verdampfer weiter, Kondenswasser an den Rippen usw. Das Wasser muss eh raus/abgepumpt werden und das ist ja das blöde (bindet Staub, Bakterien/Keime...). Meiner hat davon extra abgeraten und die technische Erklärung dahinter ist für mich auch logisch. Nur im Winter sollte ich auch mal "Heizen" damit die Analge nicht monatelang stillsteht ;-)
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 26 August 2020, 07:42:51
Zitat von: Betonklotz am 25 August 2020, 18:21:24
Warum sollte man die Anlage auf Entfeuchten laufen lassen vor dem Ausschalten? Feuchtigkeit entziehen geht nur über ein Temperaturgefälle, d.h. am Ende arbeitet dein Verdampfer weiter, Kondenswasser an den Rippen usw. Das Wasser muss eh raus/abgepumpt werden und das ist ja das blöde (bindet Staub, Bakterien/Keime...). Meiner hat davon extra abgeraten und die technische Erklärung dahinter ist für mich auch logisch. Nur im Winter sollte ich auch mal "Heizen" damit die Analge nicht monatelang stillsteht ;-)

Ich hatte mich beim mode verschrieben sollte mode FAN sein
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 26 August 2020, 07:56:34
Zitat von: rudolfkoenig am 25 August 2020, 15:11:49
#1: Wenn man unsicher ist, dann sollte man notifies im Event-Monitor anlegen, indem man das richtige Event da markiert, und auf "Create/modify device" klickt.
#2: Bitte nicht unnoetiog kompliziert: {fhem("set Lampe on")} => set Lampe on

Danke
Ich lerne immer wieder neue Funktionen im Fhem :-)
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 28 August 2020, 12:52:39
das funktioniert

define JRG_Klima_MQTT2_notify_1 notify JRG_Klima_MQTT2:onoff:.OFF IF ([JRG_Klima_MQTT2:mode] eq "FAN") (set JRG_Schreibtisch toggle)


das nicht

define JRG_Klima_MQTT2_notify_1 notify JRG_Klima_MQTT2:onoff:.OFF {if (ReadingVal('JRG_Klima_MQTT2','mode','') eq "FAN") {fhem('JRG_Schreibtisch toggle')}}


und das auch nicht

define JRG_Klima_MQTT2_notify_1 notify JRG_Klima_MQTT2:onoff:.OFF IF ([JRG_Klima_MQTT2:mode] eq "FAN") (set JRG_Schreibtisch toggle;;set JRG_TV_Sessel toggle)


ich muss aber mehrere Kommandos ausführen
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: rudolfkoenig am 28 August 2020, 13:00:20
Es heisst ReadingsVal und nicht ReadingVal.
Im FHEM-Log duerften entsprechende Fehlermeldungen zu finden sein.
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 28 August 2020, 13:02:29
Ergänzend - In dem mittleren fhem fehlt auch (mind.) noch das "set":
define JRG_Klima_MQTT2_notify_1 notify JRG_Klima_MQTT2:onoff:.OFF {if (ReadingsVal('JRG_Klima_MQTT2','mode','') eq "FAN") {fhem('set JRG_Schreibtisch toggle')}}

Ich würde empfehlen, auf FHEM-IF zu verzichten; früher oder später brauchst du eh' Perl-if, und dann ist es zwar länger, aber einheitlich. Ich vermute, dass der Trenner zwischen den Kommandos da (IF) nicht der Strichpunkt ist, sondern ein Komma.
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 28 August 2020, 15:06:07
jetzt geht's :-)
danke euch beiden !

PS: In der deutschen CommandRef bei den Beispielen zu #IF steht ReadingVal ;-)
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 28 August 2020, 15:10:41
Damit das keine Ausrede für Nachahmer wird, darfst du das gerne dem betreffenden Maintainer melden (siehe MAINTAINER.txt) ;) .
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: jurkub am 30 August 2020, 15:27:19
Ich hätte jetzt gerne einen (Wochen)timer den ich per Webinterface ein- und ausschalten kann, sowie die Zeiten zum Ein- und Ausschalten der Klimaanlage für jeden Tag "zusammenklicken" kann.

Gibt es so ein Module ?

Ich hab mir schon YAAM, HOMEMODE und AutoShuttersControl angegucket.
Das trifft es aber nicht
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Beta-User am 30 August 2020, 15:35:10
Na ja, die Idee hinter der generischen Gestaltung als Klimagerät war auch, das Ding dann mit WeekdayTimer (+weekprofile) steuern zu können ;) . Kann aber nicht sagen, ob das deinen Vorstellungen von "Zusammenklicken" entspricht, und hier muß man ggf. dann auch noch etwas "eventMap-Magie" dazugeben, dass das Ding auch ein- und ausgeschaltet wird.

Da bestünde mMn. auch Bedarf, sowas dann mal im Wiki darzustellen.
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: JF Mennedy am 30 September 2020, 18:27:14
Zitat von: Betonklotz am 24 August 2020, 16:51:17
@jurkub:
du darfst nicht den stable Zweig nehmen, sondern musst den Zweig nehmen der auch "testing" enthält, denn das Klima Gedöns ist noch nicht offiziell frei:
https://github.com/letscontrolit/ESPEasy ==> ESP8266 (oder was auch immer dein D1 hat) und passenden Speicher wählen
wichtig: unter Tools -> Advanced -> Serial Settings den Haken rausnehmen damit der serielle Port für die Klima genutzt werden kann und nicht fürs Debugging
Dann unter Devices den "Energy (Heat) - Mitsubishi Heat Pump [TESTING]" Eintrag wählen und Einstellungen vornehmen wie du möchtest, bei mir z.B.

name: aircon
enabled: yes
serial port: GPIO-3 und GPIO-1
send to controller: anfangs noch nein, später dann ja
interval: 0 (= nur bei Änderungen die Daten schicken)

unter Controllers dann "Home Assistant (openHAB) MQTT" wählen, und Einstellungen wie du magst/bei dir hast, unten bei MQTT, z.B.

controller client ID: %sysname%/#
controller puplish: %sysname%/%tskname%/%valname%
und wichtig: Haken bei enabled

dann wieder unter devices gehen, dort die Klima anwählen und send to controller aktivieren. Nicht wundern wenn unter der devices Übersicht bei settings values ein NaN auftaucht, das ist "normal"
Ab dann hast du es auch in FHEM verfügbar.

@Beta-User: ja, SSL ist mehr als blöde. Habe zu Hause alles auf Tasmota laufen (bis auf die Klima) und hoffe ja inständig, dass die Klima auch mal in Tasmota umgesetzt wird, denn da hast du SSL von Haus aus mit drin. Mir fehlt nur das technische Wissen dazu...

Ich kann leider nicht die richtige FW finden, in dem das P093 enthalten ist... Ich habe die letzte Version ESPEasy_ESP82xx_mega-20200929.zip heruntergeladen und selbst wenn ich ESP_Easy_mega_20200929_dev_ESP8266_4M1M flashe ist da kein Profil 093 mit Mitsubishi :-(

Was mache ich falsch??? Oder wo suche ich falsch???

Gruss und Danke,

Jan
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: JF Mennedy am 30 September 2020, 21:05:43
Hallo noch mal,

also ich komm absolut nicht klar, weder mit dem Flasher noch mit Arduino... ICh bekomme EasyESP auf mein Wemos geflasht, mit beiden Tools, und die Datei _P093_MitsubishiHP.ino ist auch vorhanden, aber ich bekomme sie einfach nicht ausgewählt... Für eine Step By Step Erklärung für Doofe wäre ich extrem dankbar...

Vielen Dank im Voraus,

Gruss Jan
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: JF Mennedy am 01 Oktober 2020, 16:38:29
Voila im letzten Release:

[build] Disable P092 and P093 on builds exceeding build size

Ich versuche mal das vorige...

Edit: läuft...
Titel: Antw:How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: Mad am 07 Dezember 2020, 12:19:59
Hallo zusammen,

ich habe meine Mitsubishi Klima auch erfolgreich ins Netz gebracht.
Das ganze mit einem Wemos D1 mini und ESPEasy. Es funktioniert auch alles, bis auf eine Sache.
Und zwar erhalte ich keine Statusänderung. Wenn ich das Gerät nun einschalte oder eine andere Einstellung vornehme, wird die Einstellung vom Gerät übernommen, aber es nicht per MQTT zu Fhem gesendet.
Laut MQTTfx wird auch kein Status gesendet. Es muss also an den Einstellungen in der ESPEasy software liegen.
Sobald ich in der ESPEasy software das Interval im Device von 0 auf 1, kommt der Status entsprechend jede Sekunde.
Jemand eine Idee?

Besten Dank


Titel: Aw: How-to gesucht um komplexeres Device anzusprechen (Mitsubishi Klimaanlage)
Beitrag von: JF Mennedy am 23 September 2023, 14:55:18
Hallo zusammen,

der Thread ist zwar schon etwas älter und ich schmunzle gerade über meine ersten Versuche mit ESPEasy vor fast genau 3 Jahren :))  :))

Ich habe für das ESPEasy Plugin P093 eine Funktion implementiert, die es ermöglicht, den Innengeräten eine Remote-Temperatur zu übergeben. Also nicht über den internen Fühler die Temperatur zu regeln, sondern über einen externen Fühler (z.B. Raumfühler).

Funktioniert bei mir mit den Innengeräten der MFZ Baureihe.

Ein notify schickt die Remotetemperatur über MQTT an das Gerät:
RemoteTempDeviceName:temperature.* set MitsubihiDeviceName remote-temp $EVTPART1
Soll der interne Fühler wieder verwendet werden muss das notify deaktiviert werden und 0.0 an das Gerät geschickt werden:
set MitsubihiDeviceName remote-temp 0.0

SetList vom FHEM Device:
attr MitsubihiDeviceName setList on:noArg MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,power,ON\
off:noArg MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,power,OFF\
desired-temp:slider,16.0,1,31.0,1 MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,temperature,$EVTPART1\
remote-temp:slider,0.0,0.5,40.0,1 MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,remotetemperature,$EVTPART1\
mode:select,HEAT,COOL,FAN,DRY,AUTO MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,mode,$EVTPART1\
fan:select,1,2,3,4,AUTO,QUIET MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,fan,$EVTPART1\
horizontal-vane:select,1,2,3,4,5,SWING,AUTO MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,vane,$EVTPART1\
vertical-vane:select,<<,<,|,>,>>,<>,SWING MitsubihiDeviceName/aircon/settings/cmd MitsubishiHP,widevane,$EVTPART1

JSON-Map vom FHEM Device:
attr MitsubihiDeviceName jsonMap remoteTemperature:remoteTemperature\
roomTemperature:measured-temp\
wideVane:vertical-vane\
power:onoff\
mode:mode\
fan:fan\
vane:horizontal-vane\
iSee:0\
temperature:desired-temp

Ein PR (https://github.com/letscontrolit/ESPEasy/pull/4813) liegt bei den Entwicklern von ESPEasy vor und wird zur Zeit verifiziert. Vielleicht ist es ja schon im nächsten Release verfügbar. P093 befindet sich zur Zeit in Collection_D vom mega Release... Ansonsten bis dahin das beiliegende BIN flashen, was ja OTA geht (Tools -> Update Firmware).

Viel Spaß damit,

Gruss Jan