Klimaanlage Panasonic aber bitte ohne Panasonic Comfort Cloud

Begonnen von EinEinfach, 05 Oktober 2022, 14:47:39

Vorheriges Thema - Nächstes Thema

EinEinfach

Hallo zusammen,

ich wollte euch meine Lösung präsentieren, wie ich mich endlich (3 Kreuze) von der Panasonic Comfort Cloud Lösung losgelöst habe. Versteht mich nicht falsch, ich habe grundsätzlich nichts gegen eine Cloud Lösung, aber was hier Panasonic einem Kunden zumutet, ist einfach schrecklich. Es fängt schon bei der Anmeldung an, hier will Panasonic Daten von dem Kunden haben (tlw. Adressen und Standorte der Geräte) die meiner Meinung nach nicht mit der neuen DSGVO Verordnung im Einklang stehen. Dann haben die Geräte eine gefüllt 20sek Denkpause bis die einen Befehl umsetzen, wenn überhaupt, desweiteren kommt hierzu, dass meine Dongles (CZ-TACG1) gerne einfach austeigen und fröhlich vor sich hinblinken ohne irgendeine Meldung von der API, dass das Gerät nicht erreichbar wäre. Also kann man die Automatisierungsaufgaben schon mal vergessen. Ich habe lange (zu lange) meine CZ-TACG1 Dongles über HTTPMOD-Modul im fhem betrieben, hier hat der Hersteller ständig versucht  mittels kleinen Änderungen im Header die Möglichkeit zu verschliessen, so dass ich die Anpassungen an der Definition mind. 1 Mal im Monat durchführen musste. Wenn man die native App des Herstellers nimmt, meint diese sich ständig von dem Account abzumelden, also müssen die Zugangsdaten immer wieder aufs Neue eingegeben werden. Ich könnte noch weiter ausführen, aber eigentlich wollte ich über was anderes schreiben.

Vorab: Ich weiß, dass es mittlerweile einen Fhem Modul für die Panasonic Cloud API gibt, allerdings arbeitet dieser genauso wie der HTTPMOD mit http-Requests und wenn Panasonic wieder was im header ändert, funktioniert dieser genauso wenig, wie die HTTPMOD Lösung, bis der Maintainer das angepasst hat. Keine Ahnung wie oft das in Zukunft vorkommen wird, in der Vergangenheit haben mich meine Anpassungen in der HTTPMOD Definition genervt.

Nach meiner Reschersche im Internet bin ich auf dieses Projekt gestossen:
https://www.espthings.io/index.php/2021/08/03/panasonic-climate-wifi-interface-for-esphome-and-home-assistant/

Und ich habe mir sofort 4 Stück (4 Innengeräte) bestellt. Bei einem Preis von ca. 25 Eur ist das im Vergleich zu Panasonic native Lösung oder der Intensis Box ein Geschenk. Die Teile basieren auf der ESPHome Custom FW und eigentlich für den Einsatz mit Home-Assistant vorgesehen, aber die ESPHome FW unterstützt auch MQTT, also war mein Plan diese mittels MQTT an fhem anzubinden. Die Teile sind vorgeflasht und können OTA geflasht werden. Das Flashen mit Home-Assistant hat bei mir nicht funktioniert, also bin ich auf die Lösung flashen via ESPHome CLI gegangen. Hier würde ich gerne einzelne Schritte beschreiben:
1. ESPHome installieren (https://esphome.io/guides/getting_started_command_line.html)
2. ESPHome Panasonic Climate WiFi interface über USB anschliessen und warten bis das Interface einen Hotspot öffnet.
3. Smartphone oder PC mit dem Hotspot verbinden (password qwe12345)
4. Im Webinterface das Interface mit dem Heimnetz verbinden und etwas warten bis das Gerät sich ins Heimnetz eingewählt hat
5. belibiger_name.yaml File erstellen. Als Vorlage nehmen wir die Datei von der Projekt Seite. In der Datei passen wir an:
a. die WLAN_SSID, WLAN_Passwort
b. Sollten mehr als ein Gerät im Wlan verwendet werden, dann muss devicename und long_devicename individuell sein
c. api: wird auskommentiert, sonst wird das Interface ohne Verbindung zum Home-Assistant alle 10min resetet.
d. climate: type muss man auswählen entweder cnt (für CZ-TACG1) oder wlan (DNSK-P11)
e. MQTT aktivieren, siehe Beispiel
substitutions:
  devicename: "climate-livingroom"
  long_devicename: "ESPthings Panasonic Climate Interface Livingroom"
  pcb_version: "220722-1"
 
esphome:
  name: "${devicename}"
  name_add_mac_suffix: false ## if 'false' use different names/hostnames for each device!
  comment: "${long_devicename} ${pcb_version}"
  platform: ESP32
  board: mhetesp32minikit
  project:
    name: "esphome.pana-climate"
    version: "${pcb_version}"
external_components:
  source: github://DomiStyle/esphome-panasonic-ac
  components: [panasonic_ac]
 
wifi:
  ssid: Your-WLAN
  password: yourpasswort

  manual_ip:
    static_ip: 192.168.XXX.XXX
    gateway: 192.168.XXX.XXX
    subnet: 255.255.255.0

  ap:
    ssid: "${devicename} Hotspot"
    password: qwe12345
   
captive_portal:
   
web_server:
  port: 80
 
logger:
  level: DEBUG
#api:
  # uncomment the line below if you wish to use an api-password
  #password: !secret esphome_api_password
ota:
  # uncomment the line below if you wish to use an ota-password
  #password: !secret esphome_ota_password
uart:
  tx_pin: GPIO17
  rx_pin: GPIO16
  id: ac_uart
  baud_rate: 9600
  parity: EVEN
 
# revisions below 220722-01 use GPIO12
status_led:
  pin: GPIO13
 
# For revisions from 220722-01 and higer the optional temperature sensor is available.
# DS18B20 1-wire Temperature Sensor
#dallas:
#  - pin: GPIO18
#sensor:
#  - platform: dallas
#    # Check the dallas sensor address in the log file
#    # For more info: https://esphome.io/components/sensor/dallas.html
#    address: 0x540000001524be28
#    name: "$long_devicename Temperature"
#    id: temp
 
switch:
  - platform: restart
    name: "$long_devicename Restart"
 
climate:
  - platform: panasonic_ac
    type: cnt   # For CZ-TACG1 use type: cnt / For DNSK-P11 use type: wlan
    name: "${long_devicename}"
    vertical_swing_select:
      name: "${long_devicename} Vertical Swing Mode"
    outside_temperature:
      name: "${long_devicename} Outside Temperature"
    # If the ac does not report a current temperature (CZ-TACG1 only) uncomment
    # the line below and point to the appropriate sensor
    #current_temperature_sensor: temp
mqtt:
  broker: 192.168.XXX.XXX
  birth_message:
    topic: status
    payload: online
  will_message:
    topic: status
    payload: offline

7. Jetzt können wir das Interface mit der neueerstellten Config flashen. Dazu im ESPHome CLI folgendes eingeben
esphome run –device 192.168.ip-adresse.des.interfaces belibiger_name.yaml
dann sollte die FW kompiliert werden und auf das Interface neue geflasht werden.
8. Wenn alles geklappt hat kann weiter im fhem verfahren werden. Ich nutzte fhem MQT2_Server, jeder anderer sollte auch gehen. Das automatische Anlegen des Geräts klappt, das automatische Anlegen der Readings nicht. Hier sind die Fhem Attribute für MQTT2-Client für die Readings und für die Steuerung.
ReadingsList (devicenamen entsprechend der fhem Definition und yaml Definition ersetzen)
fhem_device_name:devicename_aus_yaml/climate/long_device_name_aus_yaml/swing_mode/state:.* swing_mode
fhem_device_name:devicename_aus_yaml/sensor/long_device_name_aus_yaml_outside_temperature/state:.* outside_temperature
fhem_device_name:devicename_aus_yaml/climate/long_device_name_aus_yaml/mode/state:.* mode
fhem_device_name:devicename_aus_yaml/climate/long_device_name_aus_yaml/fan_mode/state:.* fan_mode
fhem_device_name:devicename_aus_yaml/climate/long_device_name_aus_yaml/target_temperature/state:.* target_temperature
fhem_device_name:devicename_aus_yaml/climate/long_device_name_aus_yaml/current_temperature/state:.* current_temperature
fhem_device_name:devicename_aus_yaml/switch/long_device_name_aus_yaml_restart/state:.* interface_reboot
fhem_device_name:status:.* status
fhem_device_name:devicename_aus_yaml/select/long_device_name_aus_yaml_vertical_swing_mode/state:.* state


SetList
mode:off,cool,heat,fan_only,dry,heat_cool devicename_aus_yaml/climate/long_device_name_aus_yaml/mode/command $EVTPART1
fan_mode:1,2,3,4,5,Automatic devicename_aus_yaml/climate/long_device_name_aus_yaml/fan_mode/command $EVTPART1
target_temperature:15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,21.5,22,22.5,23,23.5,24,24.5,25 devicename_aus_yaml/climate/long_device_name_aus_yaml/target_temperature/command $EVTPART1
swing_mode:off,both,vertical,horizontal devicename_aus_yaml/climate/long_device_name_aus_yaml/swing_mode/command $EVTPART1
vertical_swing_mode:auto,up,up_center,center,down_center,down devicename_aus_yaml/select/long_device_name_aus_yaml/command $EVTPART1
interface_reboot:noArg devicename_aus_yaml/switch/long_device_name_aus_yaml/command on


Ich glaube das war's so im Groben. Die Teile funktionieren super, keine Delays, keine Ausfälle bis jetzt, keine Cloud.

Viel Spass beim Nachbauen


Update 30.11.2022: Die Teile laufen immernoch super, keine einzige Beanstandung meinerseits. Die Automatisierungsaufgaben, die ich damals geplant habe und die nur bedingt durch die Unzuverlässigkeit der Cloud Lösung funktioniert haben, arbeiten bei mir jetzt wie es sein sollte, ohne meine Eingirffe. Ich kann getrost hinter dieser Geschichte einen hacken setzten und mich weiteren Themen widmen.
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

knuddli

Hallo,

das klingt fast zu schön um wahr zu sein. Ich habe die EtheraX Serie. Da ist das WLAN schon drin. Kann man das auch da betreiben? Es ist jedenfalls auch so eine Pinleiste hinter der Abdeckung sichtbar.

Dein erster "Code" ist die YAML-Datei? Kann die auch DHCP? Manuelle IPs sind - gerade hier - eher schwierig, da man die hinterher sicher schlecht ändern kann.

VG
knuddli

EinEinfach

Hallo knuddli,

das geht, bei dir sogar beides parallel. Entweder baust du das interne WLAN Modul aus (das sogenannte DNSK-P11), und stattdessen nimmst du das ESPHome Teil (Es gibt sogar passende 3D Druck Modelle für das Gehäuse).
hierzu musst du dann in der yaml Konfiguration anstatt "type: cnt" das "type: wlan" eintragen.

Oder wie gesagt du verbaust das Modul parallel zu der nativen Lösung von Panasonic (hierzu einfach die genannte Buchse nehmen).
Automatische IP Vergabe geht auch, einfach die Zeilen zur manuellen IP-Adresse in der yaml-Config weglassen.

Gruß
Alexander
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

knuddli

Danke Dir! Das Teil ist bestellt. Zum Glück passt das noch vorhandene zu meiner Anlage.
ESPHome macht mir noch ein paar Sorgen, aber ich hab ja ein paar Tage Zeit mich damit zu beschäftigen.

EinEinfach

Super!!

Aber selbst wenn die Teile erstmal nicht lieferbar sind, kann man das relativ einfach nachbauen. Man braucht einen ESP32 und einen bideriktionalen Pegelwandler 3,3V <-> 5V. Ich habe auf das Selbstbau verzichtet, da die Teile verfügbar und unverschämt günstig waren.

Die benötigte Software für den ESP32 ist auf GitHub verfügbar.
https://github.com/DomiStyle/esphome-panasonic-ac
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

FhemPiUser

Klasse Projekt!

Auf der espthings.io sind die Teile ausverkauft. Wo habt ihr die esp32, pegelwandler und kabel bestellt? habt ihr links, damit man das richtige bestellt?

EinEinfach

fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

FhemPiUser

danke dir, ich habe die etherea z wandgeräte (CS-Z25XKEW, CS-Z50XKEW) mit integrierten WLAN. Welche Stecker brauche ich da?

EinEinfach

Dann hast du auch den DNSK-P11 Modul drin. Auf dem Selbstbau Teil müsstest nur Stifte dranlöten und Originalkabel umstecken bzw. du schaust am besten rein und falls du die weisse JST Buchse siehst kannst du CNT Variante bauen und diese parallel mit dem Original WLAN Modul nutzen, falls du die Panasonic Cloud weiterhin nutzen willst
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

FhemPiUser

Ich habe mal die Klappe rechts aufgeschraubt. Dort ist neben den Stromanschlüssen eine 5-poliger Stecker zu sehen und etwas Platz für ein Modul. Ich nehme an da müsste dan das ESP32 Modul angeschlossen und verstaut werden.

LAut Anleitung habe ich das DNSK-P11 Modul, ich sehe es aber nicht hinter der Klappe rechts. Ich würde das aber drin lassen wollen, damit ich zusätzlich auch die Panasonic Comfort Cloud benuzen kann.

EinEinfach

Mach mal ein Foto von dem 5poligen Stecker, aber ich denke das ist die besagte JST Buchse, dort kannst ESP Modul anschliessen.

Als Alternative zum Selbstbau kannst du die Order Form auf der espthings.io Seite ausfüllen, ist unverbindlich, wenn Michael genug Anmeldungen hat, lässt evtl schneller was produzieren.
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP


EinEinfach

Ja, das ist der richtige Anschluss, dann suche ich dir den richtigen Stecker für den Anschluss raus
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

FhemPiUser

Neben dem richtigen Stecker eine weitere Frage:

Ich mache bei mir jede Nacht aus Strahlungsgründen den WLAN Access Point aus. Problem ist, dass dann die WLAN LED der Innengeräte blinkt, was in den Schlafzimmern sehr nervt, und was wohl auch zu viel Strahlung führt, da das Innengerät permanent nach WLAN sucht.

Gibt es eine Möglichkeit z.B. über dieses ESPHome Modul das WLAN im Innengerät automatisiert nachts auszuschalten und morgens wieder anzuschalten?

EinEinfach

Mit dem Modul hast du nur Zugriff auf den internen CN-CNT Bus von Panasonic, damit kannst nur die Funktionen zur Klimatisierung steuern. Es sind mir keine Möglichkeiten bekannt hierüber die Gateways oder Access Points zu steuern.
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP