Für leidgeplagte der bescheidenen Panasonic "Comfort" Cloud gibt es eine Alternative - die Steuerung der Klimageräte aus dem lokalen Netz ohne nervige Cloud. Hier mal meine Einbindung mit den entsprechenden Komponenten auf Basis von ESPHome - das Ganze ist echt trivial umzusetzen:
benötigte Komponenten:
- Waveshare ESP32-C3-Zero
- Kabel mit PAP-05V-S Stecker (z.b. https://www.amazon.de/dp/B0DRVP7FQF)
- 3D Drucker (optional)
Man kann natürlich auch andere ESP32 Boards nehmen, aber dann muss man ggf. die Pins anpassen. Diese Lösung funktioniert so wie sie ist mit den angegebenen Teilen:
- Zuerst wird das gelbe Kabel vom Stecker entfernt. Das wird nicht benötigt und stört nur. Im Anschluss wird das Kabel auf den ESP32 gelötet, wie auf den Bildern zu sehen. (schwarz=5V, orange=GND, weiß=GPIO21, rot=GPIO20). Im Internet gibt es Beiträge, die sich mit dem Thema 5V Toleranz ja/nein beim ESP32 beschäftigen. Ich weiß nicht woher das kommt, aber die CN-CNT Pins (Farbe weiß+rot) senden maximal 2,6V in der high flank, so dass hier aus meiner Sicht nichts weiter nötig ist. Die GPIO Pins sind für 3,3V ausgelegt. Wer auf Nummer sicher gehen will kann hier noch einen passenden Widerstand zwischen setzen und beim weißen Kabel einen Levelshifter integrieren um die 3,3V auf 2,6V zu reduzieren. Das dürfte aber wohl überflüssig sein, zumal ein ESP32 nicht viel kostet.
- Wer einen 3D Drucker hat, kann hierfür noch ein passendes Gehäuse drucken. Die STL Datei habe ich hier auch angefügt. diese passt perfekt ins Gehäuse der Klimageräte. Wer keinen 3D Drucker hat, der kann das Gehäuse des integrierten WLAN Adapters nutzen. Wenn gar nichts geht, dann sollte der ESP32 zumindest mit Isolierband umwickelt werden, damit an die Kontakte nichts kommt. Davon rate ich aber ab. Dann doch besser bei einem Anbieter im Internet den 3D Druck bestellen.
- ESPHome (www.esphome.io) installieren, falls das noch nicht vorhanden sein sollte.
- Die Datei secrets.yaml erstellen und dort die eigenen Settings für Wlan, Broker etc setzen:
wifiSsid:
wifiPassword:
wifiPasswordAP:
otaPassword:
mqttBroker:
wifiDomain:
- Im Anschluss wird die Datei ac.yaml erstellt:
substitutions:
deviceName: pac
wifiDomain: !secret wifiDomain
mqttBroker: !secret mqttBroker
txPin: GPIO21
rxPin: GPIO20
esphome:
name: ${deviceName}
name_add_mac_suffix: true
esp32:
board: esp32-c3-devkitm-1
variant: esp32c3
framework:
type: esp-idf
wifi:
ssid: !secret wifiSsid
password: !secret wifiPassword
domain: ${wifiDomain}
fast_connect: on
ap:
ssid: ${deviceName}
password: !secret wifiPasswordAP
mqtt:
broker: ${mqttBroker}
discovery: false
discover_ip: true
will_message:
birth_message:
log_topic: null
on_message:
- topic: ${deviceName}/wlan
payload: 'info'
then:
- mqtt.publish:
topic: '{$deviceName}/ip'
payload: !lambda "return id(ip_address).state;"
- mqtt.publish:
topic: '{$deviceName}/mac'
payload: !lambda "return id(mac_address).state;"
logger:
level: ERROR
ota:
- platform: esphome
password: !secret otaPassword
text_sensor:
- platform: wifi_info
ip_address:
name: "IP Adress"
id: ip_address
mac_address:
name: "Mac Adress"
id: mac_address
# Minimum ESPHome 1.15.0+
uart:
tx_pin: ${txPin}
rx_pin: ${rxPin}
id: ac_uart
baud_rate: 9600
parity: EVEN
external_components:
source: github://DomiStyle/esphome-panasonic-ac
components: [panasonic_ac]
climate:
- platform: panasonic_ac
type: cnt
name: "${deviceName}"
vertical_swing_select:
name: "${deviceName} vertical swing mode"
outside_temperature:
name: "${deviceName} outside temperature"
mild_dry_switch:
name: "${deviceName} mild dry switch"
current_power_consumption:
name: "${deviceName} power consumption"
- Danach kann die Firmware kompiliert und auf den ESP32 übertragen werden:
esphome run ac.yaml
- Nun wird das Gerät über MQTT in Fhem eingebunden:
defmod Essen.Klima MQTT2_DEVICE pac_xxxxxx_xxxxxxxxxxxx
attr Essen.Klima DbLogExclude .*
attr Essen.Klima autocreate 0
attr Essen.Klima devStateIcon cool:frost@green heat:sani_heating@green fan_only:ventilator_fett@green dry:humidity@green heat_cool:time_automatic@green Aus:control_standby@grey
attr Essen.Klima event-on-change-reading state,mode,temperature,temperatureTarget,preset,fanMode,swingMode,verticalSwingMode,temperatureOutside,mildDrySwitch,powerConsumption,status
attr Essen.Klima event-on-update-reading mode
attr Essen.Klima eventMap on:Ein off:Aus
attr Essen.Klima group Heizung
attr Essen.Klima icon temp_frost
attr Essen.Klima readingList pac_xxxxxx_xxxxxxxxxxxx:esphome/discover/pac-xxxxxx:.* { json2nameValue($EVENT) }\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/climate/pac/mode/state:.* mode\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/climate/pac/current_temperature/state:.* temperature\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/climate/pac/target_temperature/state:.* temperatureTarget\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/climate/pac/preset/state:.* preset\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/climate/pac/fan_mode/state:.* fanMode\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/climate/pac/swing_mode/state:.* swingMode\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/select/pac_vertical_swing_mode/state:.* verticalSwingMode\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/sensor/pac_outside_temperature/state:.* temperatureOutside\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/switch/pac_mild_dry_switch/state:.* mildDrySwitch\
pac_xxxxxx_xxxxxxxxxxxx:pac-xxxxxx/sensor/pac_power_consumption/state:.* powerConsumption\
pac_xxxxxx_xxxxxxxxxxxx:pac/status:.* status
attr Essen.Klima room Erdgeschoss->Essen,Interfaces->MQTT
attr Essen.Klima setList mode:off,cool,heat,fan_only,dry,heat_cool pac-xxxxxx/climate/pac/mode/command\
fanMode:1,2,3,4,5,Automatic pac-xxxxxx/climate/pac/fan_mode/command\
status:noArg pac-xxxxxx/climate/pac/mode/state\
temperatureTarget:slider,16,0.5,30 pac-xxxxxx/climate/pac/target_temperature/command\
swingMode:off,both,vertical,horizontal pac-xxxxxx/climate/pac/swing_mode/command\
preset:Normal,Powerful,Quiet pac-xxxxxx/climate/pac/preset/command\
on:noArg pac-xxxxxx/climate/pac/mode/command cool\
off:noArg pac-xxxxxx/climate/pac/mode/command off\
clear_all:noArg {fhem("deletereading -q $NAME (?!associatedWith|IODev).*");;;;return undef}
attr Essen.Klima stateFormat {ReadingsVal($name,'mode','')."\n"."<br/>".ReadingsVal($name,'temperature','')." °C"}
attr Essen.Klima webCmd Ein:Aus
statt pac_xxxxxx_xxxxxxxxxxxx muss die vom esp32 gegebene mac Adresse verwendet werden. die Syntax ist dabei pac_<letzten 3 byte / 6 Zeichen der mac Adresse)_<Mac Adresse>. bei pac_xxxxxx ist es nur pac_<letzten 3 byte / 6 zeichen der mac Adresse)
Die Mac Adresse sieht man in der Konsole beim Start des Uploadvorgangs der Firmware. Wenn alles richtig gemacht wurde solle das device im Anschluss mit Readings befüllt werden. Wenn das alles funktioniert, erfolgt der Einbau.
- Von jedem nachfolgenden Schritt sollte man ggf. ein Foto machen, wenn man das noch nicht so oft gemacht hat. Damit bekommt man das sicher wieder richtig zusammengesetzt.
Klimaanlage stromlos machen und die Abdeckung entfernen. Danach den Systemkasten öffnen, wie auf den Bildern zu sehen. Vermutlich müssen hier auch die Zuleitungskabel etc entfernt werden. Als erstes wird dann der bestehden WLAN Adapter entfernt (falls vorhanden). Ältere Modelle haben nur eine CN-CNT Schnittstelle, an der bei mir zuvor ein CZ-TACG1 angeschlossen war. Neue Modelle haben zusätzlich eine DNSK-P11 Schnittstelle, an der die WLAN Schnittstelle hängt. Diese hat zwar ein paar Vorteile, die wir hier aber nicht unbedingt brauchen. Danach wird das Kabel des ESP32 direkt an den CN-CNT Port gesteckt. Das wars dann auch schon. Vor dem Zusammenbau sollte das Ganze nochmal getestet werden. Also Sicherung wieder rein und gucken, ob die Steuerung über FHEM funktioniert. Wenn alles geht, Sicherung wieder raus, und Gehäuse wieder zusammenbauen / schließen.
- Wenn zuvor ein Wlan Adapter an der DNSK-P11 Schnittstelle hing, muss noch die WLAN Schnittstelle am Klimagerät über die Fernbedienung ausgemacht werden. Ansonsten wird die entsprechende LED ständig blinken.
Das wars dann auch schon und kostet keine 10 € je Gerät. Wenn man Zeit hat und sich die Sachen über Aliexpress bestellt kommt man sogar mit 2-3 € aus. Jedenfalls reagieren die Geräte nun instant. Das ist richtiger Luxus wenn man zuvor die Comfort Cloud App nutzten "durfte" ;D
Viel Spaß beim Nachbauen. Umsetzung erfolgt natürlich auf eigene Gefahr ;D
Hallo guybrush,
vielen Dank für die echt tolle Beschreibung. Eine Verständnisfrage: Wenn ich neuere Geräte habe, kann ich dann das ESP parallel mit dem internen Adapter betreiben? Wegen WAF ;-)
Gruß
Marco
Was ist WAF? Ich würde das nicht tun, grundsätzlich ist das aber eine dumme Schnittstelle die nur auf Spannungsveränderungen reagiert. Dürfte also gehen, aber der Sinn erschließt sich mir nicht
WomanAcceptanceFactor ;D
Ein Strauß Blumen tuts auch :P die Fernbedienungen gehen weiterhin. Das einzige was nicht ginge ist die geile App von Panasonic :o
Vielen Dank für die ausführliche Beschreibung inkl. der Kaufhinweise und der Bilder. Bei mir werden ab sofort nun auch 3 Panasonic-Klimaanlagen wieder stabil mit FHEM bedient.
Ich musste ein bisschen schauen, wie ich ESPHOME auf meinem Windows-Rechner installiert bekomme und zusätzlich musste ich noch GIT for windows installieren, damit ESPhome sich auch die Sourcen laden kann.
Vielleicht noch einen kleinen Hinweis zu der obigen Beschreibung:
Hatte in der secrets.yaml nur die Werte gefüllt, die ich benötige. So wurde aber die Installation nicht durchgeführt mit Fehlerhinweisen. Die nicht genutzten Variablen müssen mit 2 " gefüllt werden. Alle anderen Werte ebenfalls in "Gänsefüßchen". Danach klappte die Installation.
Da ich keine Lust hatte, meine Anlage stromlos zu machen, um das Gehäuse zu öffnen und meine Anlage den CN-CNT-Anschluss unter dem Anschlussdeckel frei hat, habe ich es wie auf dem Foto gelöst.
ESP32-Panasonic.jpg
Gruß
Marco
schön, dass es geklappt hat ;D sehr kreatives gehäuse :D
Sieht man ja nicht und per Klettverschluss entfernbar... 8)
Zitat von: marboj am 06 Juli 2025, 18:19:30Vielen Dank für die ausführliche Beschreibung inkl. der Kaufhinweise und der Bilder. Bei mir werden ab sofort nun auch 3 Panasonic-Klimaanlagen wieder stabil mit FHEM bedient.
Ich musste ein bisschen schauen, wie ich ESPHOME auf meinem Windows-Rechner installiert bekomme und zusätzlich musste ich noch GIT for windows installieren, damit ESPhome sich auch die Sourcen laden kann.
Vielleicht noch einen kleinen Hinweis zu der obigen Beschreibung:
Hatte in der secrets.yaml nur die Werte gefüllt, die ich benötige. So wurde aber die Installation nicht durchgeführt mit Fehlerhinweisen. Die nicht genutzten Variablen müssen mit 2 " gefüllt werden. Alle anderen Werte ebenfalls in "Gänsefüßchen". Danach klappte die Installation.
Da ich keine Lust hatte, meine Anlage stromlos zu machen, um das Gehäuse zu öffnen und meine Anlage den CN-CNT-Anschluss unter dem Anschlussdeckel frei hat, habe ich es wie auf dem Foto gelöst.
ESP32-Panasonic.jpg
Gruß
Marco
Hallo Marco
Ich möchte diese Lösung ebenfalls umsetzen und die Anlage per fhem und per Pnasonic App steuern können. In deiner Klima war ja offenbar der entsprechende Stecker für den Verbau noch unbenutzt. Welchen genauen Typ Kima hast du genau?
Bei mir wird nächstens eine MULTI, CS-Z25ZKEW verbaut.
Ich hoffe dort ebenfalls auf einen freien Stecker zu treffen :-)
du brauchst den cn-cnt port. der ist bei allen nicht all zu alten geräten vorhanden. bei mir war der auf der platine. bei dir scheinbar auch.
siehe s. 56 der manual (https://www.netrauta.fi/attachments/products/panasonic/PANKIT-Z25ZKE_Huolto.pdf)
Zitat von: Guybrush am 21 Juli 2025, 21:53:01du brauchst den cn-cnt port. der ist bei allen nicht all zu alten geräten vorhanden. bei mir war der auf der platine. bei dir scheinbar auch.
siehe s. 56 der manual (https://www.netrauta.fi/attachments/products/panasonic/PANKIT-Z25ZKE_Huolto.pdf)
Perfekt, danke. Dann mach ich mich mal an die Bestellung beim freundlichen chinesen :-)
Ich habe nochmals eine Frage:
Ich habe den ESP32 erfolgreich geflasht "paceltern" und das Device wird per Autocreate in fhem angelegt:
defmod paceltern MQTT2_DEVICE paceltern
attr paceltern DbLogExclude .*
attr paceltern readingList paceltern:esphome/discover/paceltern-382a74:.* { json2nameValue($EVENT) }\
paceltern:paceltern-382a74/sensor/mac_adress/state:.* state\
paceltern:paceltern-382a74/climate/paceltern/mode/state:.* state\
paceltern:paceltern-382a74/climate/paceltern/target_temperature/state:.* state\
paceltern:paceltern-382a74/climate/paceltern/preset/state:.* state\
paceltern:paceltern-382a74/climate/paceltern/fan_mode/state:.* state\
paceltern:paceltern-382a74/climate/paceltern/swing_mode/state:.* state\
paceltern:paceltern-382a74/switch/paceltern_mild_dry_switch/state:.* state\
paceltern:paceltern-382a74/sensor/ip_adress/state:.* state
attr paceltern room MQTT2_DEVICE
Im Unterschied zu Dir werden jedoch ausschliesslich der devicename-xxxxxx (sprich die letzten 6 Zeichen der Mac Adresse) verwendet. Die Einträge mit der ganzen Mac Adresse werden nicht erstellt. Muss ich diese selber erstellen im Attr Readingslist und in der Definition?
Die Klimaanlage ist noch nicht installiert, kann es also noch nicht anschliessen :-)
das sieht auf dem ersten blick alles ok aus. dass im device keine mac steht dürfte daran liegen, dass du name_add_mac_suffix vermutlich nicht auf true stehen hast. dürfte aber trotzdem funktionieren
Zitat von: Guybrush am 06 August 2025, 21:55:20dass im device keine mac steht dürfte daran liegen, dass du name_add_mac_suffix vermutlich nicht auf true stehen hast. dürfte aber trotzdem funktionieren
Ich habe den Inhalt der yaml 1:1 von dir übernommen. Müsste deshalb auf true stehen!
das sollte dann so sein. ich weiss aber auch nicht welche esphome version du nutzt und ob es da änderungen gibt. wie dem auch sei - es dürfte so auch funktionieren
Ich habe die Lösung so bei mir auch in Betrieb (damals war eine Ähnliche Anleitung bei espthings.io drin, mit der ich das Teil in FHEM anbinden konnte.
Ich habe nun allerdings das Problem, dass ich mein WLAN Passwort ändern muss. Ich komme über die IP des ESP ja auf ein Webportal von dem Gerät, auf der es auch die Option "OTA Update" gibt. Kann ich dort direkt eine YAML mit geändertem Passwort hochladen und muss das Teil dann nicht erneut im FHEM anmelden?
Ein Webportal kenn ich nicht bei der Lösung. Ich hab das mit ESPHome gemacht. Ein OTA Update funktioniert über ESPHome, indem du im YAML File die IP des Geräts definierst. Setzt natürlich voraus, dass OTA Updates in der Liveconfig damals auch aktiviert wurden.
Hallo TomS85,
man kann per ESPHome bequem Updates auf dem ESP machen, ohne ihn physisch an einen Rechner anstöpseln zu müssen. Und natürlich hat auch Guybrush recht, dass man etwas vorher in der .yaml definiert haben muss.
Bei mir sieht es so aus:
ota:
- platform: esphome
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "ESPHome Fallback"
# Optional manual IP - damit gelingt ein wireless update in ESPHome
manual_ip:
static_ip: 192.168.xxx.yyy
gateway: 192.168.xxx.1
subnet: 255.255.255.0
Viele Grüße Gisbert
Danke euch! Bei mir sieht das ganze so aus:
Screenshot 2026-03-16 184711.png
Ich habe in der YAML damals folgendes eingestellt:
wifi:
ssid: #MeineSSID
password: #MeinPasswort
# manual_ip:
# static_ip: 192.168.XXX.XXX
# gateway: 192.168.XXX.XXX
# subnet: 255.255.255.0
ap: {}
captive_portal:
web_server:
port: 80
Das POrtal scheint dann wohl das "captive Portal" zu sein - das erreiche ich über die IP des ESP. Bei esphome habe ich dazu folgendes gefunden: https://esphome.io/components/captive_portal/ - dort steht auch, dass man dort ein "neues Firmware file" hochladen kann. Aber ist die YAML Datei die Firmware, oder ist damit was anderes gemeint? Nicht, dass ich mir damit alles zerschieße.
Danke und beste Grüße,
Tom
die YAML Datei ist nur die config. Die Firmware selbst baust du dann mit ESPHome und der config. Nachdem die erstellt ist, kommt normal eine Abfrage, ob du die per OTA oder USB flashen willst. Man kann das aber auch später machen, indem man die .bin Datei dann händisch hochlädt. In jedem Fall musst du die erstmal mit esphome kompilieren
Hallo TomS85,
ich befürchte, dass du noch nicht weißt, wie man eine .yaml-Datei zu einer .bin-Datei kompiliert. Wie bereits gesagt, kannst du dir die .yaml nicht zerschießen.
Wenn du willst, schreib mir eine PM - vielleicht klärt sich dann einiges in einem Telefonat. Prinzipiell könnte ich basierend auf deiner .yaml-Datei eine .bin-Datei erzeugen, aber dann bräuchte ich deine Wlan-Credentials, die mit kompiliert werden müssen - ein gewisses Dilemma. Vielleicht gelingt es aber auch, dich bei der Kompilierung zu unterstützen.
Viele Grüße Gisbert
Mir fällt noch auf, dass der Wert bei Panasonic AC Garage bei 8.0 steht, aber die Werte nur zwischen 16 und 30 geändert werden können. Das ist irgendwie widersprüchlich. Persönlich finde ich Slider etwas ungünstig; ich nutze gerne eine Zahleneingabe, die man einfach eintippt.
Ich würde heutzutage niemals meine SSID und Passwort mit reinkompilieren. Gerade darin liegt der Sinn des Captive Portals. Wenn der folgende Block in das yaml eingebunden ist, kann man sich erst mit dem PC auf dem ESP verbinden, und dann entsprechend das eigene WLAN eingeben.
wifi:
# Enable fallback hotspot (captive portal) in case wifi connection fails
# http://192.168.4.1/
ap:
ssid: "ESPHome_Dimmer"
password: "123456"
captive_portal:
Üblicherweise kann ein neues .bin file über OTA aber auch hochgeladen werden, ohne sich die bestehende WLAN Konfiguration zum eigenen Netzwerk zu zerschießen. Aber sollte das schiefgehen ist ja wieder das Captiveportal da.
Je nach System hatte ich aber auch schon mehrfache Versuche gebraucht bis der Zugriff geklappt hat.
Hallo Dieter,
deine Info ist nachvollziehbar, und ich habe etwas neues bei ESPHome gelernt. Mit deinem Vorschlag kann man eine .bin-Datei ohne Kenntnis der Wlan-Credentials erzeugen.
@TomS85, falls du mir deine .yaml-Datei (ohne Passwörter bzw. anonymisiert) zur Verfügung stellst, kann ich dir eine .bin-Datei liefern, die du per OTA auf deinen ESP flashen kannst. Wenn du nun das Passwort deiner SSID änderst, kann sich der ESP nicht mehr verbinden, öffnet aber einen AP, bei dem du deine SSID auswählen und dein neues Wlan-Passwort eintragen kannst.
Viele Grüße Gisbert
Hallo zusammen,
eine Sache bekomme ich nicht hin, daher mal die Frage in die Runde, könnte ihr den Quiet Mode so setzten?
preset:Normal,Powerful,Quiet pac-xxxxxx/climate/pac/preset/command\
Ich sehe das reading preset aber es ist unbeeindruckt vom allen befehlen die ich in vielen Varianten ausprobiert habe :)
Danke für evtl. Rückmeldungen.
Hallo Moli,
ich benutze ein Device vom Type MQTT_DEVICE, um Werte der Panasonic-Wärmepumpe mit Heishamon auszulesen. Mit dem gleichem Device sende ich auch Werte von Fhem zu Heishamon. Meine Definitionen zum Senden sehen so aus:
attr HeishaMon_main publishSet_SetAltExternalSensor panasonic_heat_pump/commands/SetAltExternalSensor
attr HeishaMon_main publishSet_SetBivalentControl panasonic_heat_pump/commands/SetBivalentControl
attr HeishaMon_main publishSet_SetBivalentStartTemp panasonic_heat_pump/commands/SetBivalentStartTemp
attr HeishaMon_main publishSet_SetCurves panasonic_heat_pump/commands/SetCurves
attr HeishaMon_main publishSet_SetFloorHeatDelta panasonic_heat_pump/commands/SetFloorHeatDelta
attr HeishaMon_main publishSet_SetForceDefrost panasonic_heat_pump/commands/SetForceDefrost
attr HeishaMon_main publishSet_SetHeaterStartDelta panasonic_heat_pump/commands/SetHeaterStartDelta
attr HeishaMon_main publishSet_SetHeaterStopDelta panasonic_heat_pump/commands/SetHeaterStopDelta
attr HeishaMon_main publishSet_SetHeatingOffOutdoorTemp panasonic_heat_pump/commands/SetHeatingOffOutdoorTemp
attr HeishaMon_main publishSet_SetHeatpump panasonic_heat_pump/commands/SetHeatpump
attr HeishaMon_main publishSet_SetPowerfulMode panasonic_heat_pump/commands/SetPowerfulMode
attr HeishaMon_main publishSet_SetQuietMode panasonic_heat_pump/commands/SetQuietMode
attr HeishaMon_main publishSet_SetZ1HeatRequestTemperature panasonic_heat_pump/commands/SetZ1HeatRequestTemperature
Jede einzelne Funktion funktioniert, auch deine angefragte.
Deine Definition kenne ich nicht, was aber nicht heißen soll, dass sie keine Berechtigung hat. Merkwürdig kommt mir allerdings das Back-Slach am Ende vor - oder ist das nur ein Teil eines Zeilenumbruchs (im raw-Format)?
Viele Grüße Gisbert
Edit: Heishamon ist ein Projekt bei GitHub zum Auslesen und Steuern von Panasonic-Wärmepumpen.
Edit2: Poste ein list oder wenigstens die raw-Definition des Fhem-Device - das erhöht sicher die Chancen auf Hilfe.
Hi und Danke für deine Antwort.
Heishamon habe ich auch für meine WP, leider sind das unterschiedliche Projekte und haben keine Ähnlichkeit, da geht der Quiet bei mir auch.
Ich habe das nur aus einem vorherigen Post kopiert, weil meiner genau so aussieht und alles geht ausser quiet.
Gruß
das eine hat mit dem anderen tatsächlich nichts zu tun. mach doch mal verbose 5 an und poste den log auszug wenn du es setzt
Gerne, also bei euch gehts es :)
2026.03.31 10:03:37 3: MQTT2_DEVICE set esp_klima_wozi preset Quiet
2026.03.31 10:03:38 4: MQTT2_DEVICE_Parse: esp_klima_wozi esp_klima_wozi/climate/panasonic_ac/current_temperature/state => temperature
2026.03.31 10:03:38 4: MQTT2_DEVICE_Parse: esp_klima_wozi esp_klima_wozi/climate/panasonic_ac/target_temperature/state => target
2026.03.31 10:03:38 4: MQTT2_DEVICE_Parse: esp_klima_wozi esp_klima_wozi/climate/panasonic_ac/preset/state => preset
2026.03.31 10:03:38 4: MQTT2_DEVICE_Parse: esp_klima_wozi esp_klima_wozi/climate/panasonic_ac/action/state => action
2026.03.31 10:03:38 4: MQTT2_DEVICE_Parse: esp_klima_wozi esp_klima_wozi/climate/panasonic_ac/fan_mode/state => fan
2026.03.31 10:03:38 4: MQTT2_DEVICE_Parse: esp_klima_wozi esp_klima_wozi/climate/panasonic_ac/swing_mode/state => swingMode
im Panasonic Device musst du das verbose 5 setzen ;-)
Sorry, dachte FHEM Panasonic heißt es ja anders.
logger:
level: VERY_VERBOSE
Sonst weiß ich jetzt nicht was du meinst.
[09:06:22.145][V][mqtt.idf:161]: MQTT_EVENT_DATA esp_klima_wozi/climate/panasonic_ac/preset/command
[09:06:22.155][D][climate:049]: 'Panasonic AC' - Setting
[09:06:22.239][D][climate:066]: Custom Preset: Quiet
Ähm ja sorry, da hat sich ein Fehlerteufel eingeschlichen, in der Konfig, deshalb ist das log ein bisschen low, hier nun besser:
[18:24:21.810][D][climate:049]: 'Panasonic AC' - Setting
[18:24:21.810][D][climate:066]: Custom Preset: Quiet
[18:24:21.810][V][panasonic_ac.cz_tacg1:211]: Copying data to cmd
[18:24:21.810][V][panasonic_ac.cz_tacg1:297]: Requested preset change
[18:24:21.818][V][panasonic_ac.cz_tacg1:422]: Sending Command
[18:24:21.818][V][panasonic_ac:282]: TX: F0.0A.30.2F.80.30.56.44.00.40.00.00.1D (13)
[18:24:21.818][V][panasonic_ac:284]: RX: 70.20.30.2F.80.30.56.40.00.40.00.00.00.2F.00.00.00.00.12.09.2B.12.09.FF.80.80.FF.80.08.00.00.C0.00.00.B5 (35)
[18:24:21.825][V][panasonic_ac:094]: Received target temperature 23.50
[18:24:21.832][V][panasonic_ac:105]: Target temperature incl. offset: 23.50
[18:24:21.832][V][panasonic_ac:080]: Received current temperature 18
[18:24:21.868][V][panasonic_ac:089]: Current temperature incl. offset: 18
[18:24:21.868][V][panasonic_ac:064]: Received outside temperature 9
[18:24:21.868][D][climate:438]: 'Panasonic AC' >>
[18:24:21.870][D][climate:441]: Mode: OFF
[18:24:21.870][D][climate:443]: Action: OFF
[18:24:21.870][D][climate:449]: Custom Fan Mode: 1
[18:24:21.870][D][climate:455]: Custom Preset: Normal
[18:24:21.870][D][climate:458]: Swing Mode: OFF
[18:24:21.870][D][climate:461]: Current Temperature: 18.00°C
[18:24:21.870][D][climate:468]: Target Temperature: 23.50°C
[18:24:21.870][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/mode/state' retain=1 qos=0)
[18:24:21.870][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/current_temperature/state' retain=1 qos=0)
[18:24:21.870][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/target_temperature/state' retain=1 qos=0)
[18:24:21.870][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/preset/state' retain=1 qos=0)
[18:24:21.870][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/action/state' retain=1 qos=0)
[18:24:21.878][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/fan_mode/state' retain=1 qos=0)
[18:24:21.878][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/swing_mode/state' retain=1 qos=0)
[18:24:26.724][V][panasonic_ac.cz_tacg1:415]: Polling AC
[18:24:26.787][V][panasonic_ac:282]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[18:24:26.925][V][panasonic_ac:284]: RX: 70.20.30.2F.80.30.56.40.00.40.00.00.00.2F.00.00.00.00.12.09.2B.12.09.FF.80.80.FF.80.08.00.00.C1.41.17.5C (35)
[18:24:26.926][V][panasonic_ac:094]: Received target temperature 23.50
[18:24:26.935][V][panasonic_ac:105]: Target temperature incl. offset: 23.50
[18:24:26.940][V][panasonic_ac:080]: Received current temperature 18
[18:24:26.940][V][panasonic_ac:089]: Current temperature incl. offset: 18
[18:24:26.952][V][panasonic_ac:064]: Received outside temperature 9
[18:24:26.952][D][climate:438]: 'Panasonic AC' >>
[18:24:26.952][D][climate:441]: Mode: OFF
[18:24:26.958][D][climate:443]: Action: OFF
[18:24:26.970][D][climate:449]: Custom Fan Mode: 1
[18:24:26.970][D][climate:455]: Custom Preset: Normal
[18:24:26.989][D][climate:458]: Swing Mode: OFF
[18:24:26.990][D][climate:461]: Current Temperature: 18.00°C
[18:24:26.990][D][climate:468]: Target Temperature: 23.50°C
[18:24:26.998][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/mode/state' retain=1 qos=0)
[18:24:26.998][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/current_temperature/state' retain=1 qos=0)
[18:24:26.998][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/target_temperature/state' retain=1 qos=0)
[18:24:27.022][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/preset/state' retain=1 qos=0)
[18:24:27.022][V][mqtt:532]: Publish(topic='esp_klima_gaeste/climate/panasonic_ac/action/state' retain=1 qos=0)
poste mal deine device settings. das sieht nach was anderem aus, als ein mqtt device?
Ich habe es gefunden, danke!
Fast peinlich, ich habe alles gemacht, während die Anlagen aus war, alle Werte, lesen schreiben, ohne Probleme.
Ich wollte das jetzt genauer prüfen und habe eine angemacht und zack geht es.
Heißt alle Werte kann man lesen und schreiben während die Anlagen aus sind, nur die Voreinstellung nicht (Quiet/Powerfull/Normal)
Super... Danke für die Ansätze.
Zitat von: Guybrush am 07 August 2025, 11:10:19das sollte dann so sein. ich weiss aber auch nicht welche esphome version du nutzt und ob es da änderungen gibt. wie dem auch sei - es dürfte so auch funktionieren
So, heute wurden nun die beiden Innengeräte mit dem Aussengerät verbunden und angeschlossen. Die Geräte laufen einwandfrei. Ich freue mich somit auf die heissen Tage. Was allerdings noch nicht so recht klappt ist die Einbindung in fhem. Das Device wird nicht aktualisert, ich bekomme jedoch Einträge im EventMontior, im Fhemlog (Verbose 5) und FileLog des Geräts:
Mein Device:
defmod paceltern MQTT2_DEVICE paceltern
attr paceltern DbLogExclude .*
attr paceltern alias Klimaanlage Eltern
attr paceltern cmdIcon Ein:general_an@white Aus:general_aus@white
attr paceltern devStateIcon cool:frost@green heat:sani_heating@green fan_only:ventilator_fett@green dry:humidity@green heat_cool:time_automatic@green Aus:control_standby@grey
attr paceltern event-on-change-reading state,mode,temperature,temperatureTarget,preset,fanMode,swingMode,verticalSwingMode,temperatureOutside,mildDrySwitch,powerConsumption,status
attr paceltern event-on-update-reading mode
attr paceltern eventMap on:Ein off:Aus
attr paceltern icon secur_frost_protection
attr paceltern readingList paceltern:esphome/discover/paceltern-3834a0:.* { json2nameValue($EVENT) }\
paceltern:paceltern-3834a0/sensor/mac_adress/state:.* state\
paceltern:paceltern-3834a0/climate/paceltern/mode/state:.* state\
paceltern:paceltern-3834a0/climate/paceltern/target_temperature/state:.* state\
paceltern:paceltern-3834a0/climate/paceltern/preset/state:.* state\
paceltern:paceltern-3834a0/climate/paceltern/fan_mode/state:.* state\
paceltern:paceltern-3834a0/climate/paceltern/swing_mode/state:.* state\
paceltern:paceltern-3834a0/switch/paceltern_mild_dry_switch/state:.* state\
paceltern:paceltern-3834a0/sensor/ip_adress/state:.* state\
paceltern:paceltern-3834a0/sensor/paceltern_power_consumption/state:.* state\
paceltern:paceltern-3834a0/select/paceltern_vertical_swing_mode/state:.* state\
paceltern:paceltern-3834a0/climate/paceltern/current_temperature/state:.* state\
paceltern:paceltern-3834a0/sensor/paceltern_outside_temperature/state:.* state
attr paceltern room Klima,OG->Eltern
attr paceltern setList mode:off,cool,heat,fan_only,dry,heat_cool paceltern-3834a0/climate/pac/mode/command\
fanMode:1,2,3,4,5,Automatic paceltern-3834a0/climate/pac/fan_mode/command\
status:noArg paceltern-3834a0/climate/pac/mode/state\
temperatureTarget:slider,16,0.5,30 paceltern-3834a0/climate/pac/target_temperature/command\
swingMode:off,both,vertical,horizontal paceltern-3834a0/climate/pac/swing_mode/command\
preset:Normal,Powerful,Quiet paceltern-3834a0/climate/pac/preset/command\
on:noArg paceltern-3834a0/climate/pac/mode/command cool\
off:noArg paceltern-3834a0/climate/pac/mode/command off\
clear_all:noArg {fhem("deletereading -q $NAME (?!associatedWith|IODev).*");;;;return undef}
attr paceltern stateFormat {ReadingsVal($name,'mode','')."\n"."<br/>".ReadingsVal($name,'temperature','')." °C"}
attr paceltern verbose 5
attr paceltern webCmd Ein:Aus
setstate paceltern \
<br/> °C
setstate paceltern 2026-04-03 20:17:57 IODev myBroker
setstate paceltern 2026-04-29 11:12:36 board esp32-c3-devkitm-1
setstate paceltern 2026-04-29 11:12:36 ip 192.168.17.35
setstate paceltern 2026-04-29 11:12:36 mac b8f8623834a0
setstate paceltern 2026-04-29 11:12:36 name paceltern-3834a0
setstate paceltern 2026-04-29 11:12:36 network wifi
setstate paceltern 2026-04-29 11:12:36 platform ESP32
setstate paceltern 2026-04-29 13:25:05 state off
setstate paceltern 2025-08-19 18:55:40 subscriptions esphome/discover esphome/ping/paceltern-3834a0
setstate paceltern 2026-04-29 11:12:36 version 2025.7.4
Eventmonitor:
2026-04-29 12:00:33 MQTT2_DEVICE paceltern 22.0
2026-04-29 12:00:33 MQTT2_DEVICE paceltern Normal
2026-04-29 12:00:33 MQTT2_DEVICE paceltern 2
2026-04-29 12:00:33 MQTT2_DEVICE paceltern AusFhemLog (verbose 5):
2026.04.29 11:59:58 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/swing_mode/state => state
2026.04.29 11:59:58 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/fan_mode/state => state
2026.04.29 11:59:58 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/preset/state => state
2026.04.29 11:59:58 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/target_temperature/state => state
2026.04.29 11:59:58 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/current_temperature/state => state
2026.04.29 11:59:58 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/mode/state => state
2026.04.29 11:59:53 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/swing_mode/state => state
2026.04.29 11:59:53 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/fan_mode/state => state
2026.04.29 11:59:53 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/preset/state => state
2026.04.29 11:59:53 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/target_temperature/state => state
2026.04.29 11:59:53 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/current_temperature/state => state
2026.04.29 11:59:53 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/mode/state => state
2026.04.29 11:59:48 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/swing_mode/state => state
2026.04.29 11:59:48 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/fan_mode/state => state
2026.04.29 11:59:48 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/preset/state => state
2026.04.29 11:59:48 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/target_temperature/state => state
2026.04.29 11:59:48 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/current_temperature/state => state
2026.04.29 11:59:48 4: MQTT2_DEVICE_Parse: paceltern paceltern-3834a0/climate/paceltern/mode/state => stateFileLog des Device:
2026-04-29_12:00:03 paceltern Aus
2026-04-29_12:00:03 paceltern 2
2026-04-29_12:00:03 paceltern Normal
2026-04-29_12:00:03 paceltern 22.0
2026-04-29_12:00:03 paceltern coolSpeziell im Device ist, dass der state fast sekündlich zwischen off und cool hin und herr springt egal ob das Gerät läuft oder nicht
Das Gerät welche nicht läuft zeigt im Log diese Einträge alle 5 Sekunden:
2026-04-29_12:10:09 paclean Aus
2026-04-29_12:10:09 paclean Automatic
2026-04-29_12:10:09 paclean Normal
2026-04-29_12:10:09 paclean 22.0
2026-04-29_12:10:09 paclean 18.0
2026-04-29_12:10:09 paclean Aus
2026-04-29_12:10:09 paclean 55Aber auch bei diesem ausgeschalteten Gerät springt der state kaum sichtbar im Device hin und her...
Wo soll ich ansetzen?
in deiner readingslist wird alles dem reading state zugewiesen. das macht wenig sinn. du willst di werte ja jeweils als eigenes reading haben und nicht nur das jeweils zuletzt gesetzte?