Giter Club home page Giter Club logo

panasonic-aquarea-smart-cloud-mqtt's Introduction

ℹ️ 1️⃣ HA forum available there

ℹ️ 2️⃣ If you would like to use a full integration, please check Carlos's full HomeAssistant integration!

Thanks

  • for @elcode for Heat enabled or disabled on two zones
  • for @rybber78 for the docker compose YAML

Panasonic Aquaera Smart Cloud integration with MQTT

At home I have a Home Assistant and I would like control my Panasonic Aquarea Heatpump.

This project a transformation layer from Panasonic Smart Cloud with MQTT.

If you satisfied, thanks for buying a coffee for me :)

"Buy Me A Coffee"

Requirements

How to start

Natively

Make

make

Configure

Create a config file copy as config from config.example

The config have to be defined in PANASONIC_AQUAREA_SMART_CLOUD_MQTT_CONFIG environment variable.

If the environment variable not set, the default is: etc/config

Run

$ PANASONIC_AQUAREA_SMART_CLOUD_MQTT_CONFIG="CONFIG_FILE_LOCATION" bin/OS/panasonic-aquarea-smart-cloud-mqtt-OS-ARCH

As continer

Pull

$ docker pull ronhks/panasonic-aquarea-smart-cloud-mqtt

Run

$ docker run --name panasonic-aquarea-smart-cloud-mqtt -v HOST_OS_CONFIG_LOCATION/:/app/etc ronhks/panasonic-aquarea-smart-cloud-mqtt

As daemon add -d option

How to use

The MQTT topic are under the MqttTopicRoot.

Read values

  • /outdoor/temp/now - Outdoor temp
  • /heat/temp/max - Heating max. temp
  • /heat/temp/min - Heating min. temp
  • /heat/operation - Heating operation status
    • 0 - OFF
    • 1 - ON
  • /heat/operation/set - Change Heating operation status
    • OFF - OFF
    • ON - ON
  • /water/temp/now - Actual Hot Water temp
  • /water/temp/max - Hot water max. temp.
  • /water/temp/min - Hot water min. temp.
  • /water/operation - Hot water operation status
    • 0 - OFF
    • 1 - ON
  • /water/operation/set - Change Hot water operation status
    • OFF - OFF
    • ON - ON
  • /operation - Device operation status
    • 0 - OFF
    • 1 - ON
  • /operation/set - Device operation status
    • OFF - OFF
    • ON - ON

Change values

  • /water/temp/set - set the HOT WATER temp.

    • sample REQUEST JSON:
      {
        "newTemp" : 42
      }
  • /water/operation/on - Turn ON the Hot Water

  • /water/operation/off - Turn OFF the Hot Water

  • /heat/operation/on - Turn ON the heating

  • /heat/operation/off - Turn OFF the heating

  • /operation/on - Turn ON the device

  • /operation/off - Turn OFF the device

  • /heat/temp/set - set the HEAT water temp (if this is customizable from your heat pump installer settings). The same temp will be set for first and second zone.

    • sample REQUEST JSON:
      {
        "newTemp" : 42
      }

Contributing

Welcome all type of contributing! :)

3rd party libs

Thanks for

panasonic-aquarea-smart-cloud-mqtt's People

Contributors

elcoda avatar ronhks avatar zsoltdenesudemx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

panasonic-aquarea-smart-cloud-mqtt's Issues

armv7 crashes from time to time

This is the most I could get

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x2795bc]

goroutine 1 [running]:
github.com/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/data.GetDeviceData()
        /Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/data/data.go:109 +0x124
main.getStatusData()
        /Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/main.go:67 +0x2c
main.startQueryStatusData()
        /Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/main.go:30 +0x24
main.startQueryStatusData()
        /Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/main.go:40 +0xe8
main.main()
        /Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/main.go:24 +0xd0

Docker image for armv7

It'd awesome if you could provide an official image for armv7 devices as well. There are tons of rpi3 willing to run the software 😄

Pull more data

It would be super nice to be able to pull even more data. Important metrics like WaterFlow, CompressorFrequency, WaterOutleet, WaterInleet provides valuable information.

Se poblished topics of this project (not available for Docker unfortunately)

https://github.com/lsochanowski/Aquarea2mqtt

Clarify documentation wrt setting values

The current documentation is a bit confusing with regard to how to set operation modes. I have doubts with some topics

  1. in the Read values section we have /heat/operation/set
    That looks like a topic to set a value instead of a topic to read a value from. Actually after subscribing to that topic I get nothing (contrary to subscribing to /heat/operation where I do get values). So what is it used for?
  2. in the Change values section, there is no payload specification for any topic except /water/temp/set. I've verified that an empty payload does indeed change the values. Perhaps that should be added in the documentation.
  3. Related to the previous comment, what about having just /heat/operation to read values and /heat/operation/set to set values (the payload would the 0/1 to disable/enable, or whatever other pair like off/on...)
  4. Last but not least, what does imply setting an operating mode on? For example for water, if I set /water/operation/on does it simply enable the hot water system (which will eventually kick in when needed), or does it actually start to warm the water?

Unable to use the Aquarea web interface when the container is running

I'm running the software using the docker image. I've found that I cannot use the Aquarea web interface whenever the service is running because shorthly after login I get a

You have been logged out due to inactivity. Please log in again.
(1001-0001)

dialog that logs me out.

Heating operations and set temperature on two zones

Dears,
I'm using your tool on my Raspberry and it's phenomenal.

I don't know GoLang... but am I right if I say that the tool now is able to manage heating only for one zone?
I my case I have two zones and I see that when I turn on heating via mqtt only one of those (the first) will be really turned on and there is no way to change the heating temp.

Am I right?

In that case I can try add some methods on heat.go to create also a way to change temperature and use two zones.

Many thanks

P.S.
This can be useful to interate Aquarea with PV systems and use heating when PV production is higher.

Energy Conspumption API Error

Hello, i have problem with connection.:

Empty response from Energy Conspumption API
ERRO[0017] Error while get DeviceData
image

I think all my config are ok, the same as login through the web interface

image

Water temperature is not updated

Hey ronhks,

thank you for your work! I try using your code on a raspberry pi...

When setting a temperature, the console output shows:

INFO[2024-02-09T12:05:35+01:00]/home/pi/aquareamqtt/panasonic-aquarea-smart-cloud-mqtt/src/water/water.go:41 github.com/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/water.SetWaterTemp() Water temp set to 52 C

But Aquarea-Cloud does not change the value.
Can you help me/us with this issue?

Tank you!

Stopped working?

After Panasonic did the latest updates, it doesent seem to work anymore.

time="2024-03-19T10:11:04Z" level=error msg=4194306 func=github.com/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/data.GetDeviceData file="/Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/data/data.go:151"
time="2024-03-19T10:11:04Z" level=error msg=4194306 func=main.getStatusData file="/Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/main.go:79"
time="2024-03-19T10:11:04Z" level=error msg="Error while get DeviceData" func=main.getStatusData file="/Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/main.go:80"
time="2024-03-19T10:11:04Z" level=error msg="HTTP call result code is:400" func=github.com/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/auth.Login file="/Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/auth/auth.go:46"
time="2024-03-19T10:11:05Z" level=error msg="HTTP call result code is:400" func=github.com/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/auth.Login file="/Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/auth/auth.go:46"
time="2024-03-19T10:11:05Z" level=info msg="GetDeviceData response: &{200 200 200 HTTP/1.1 1 1 map[Cache-Control:[no-cache, no-store] Connection:[keep-alive] Content-Language:[ja-JP] Content-Length:[186] Content-Security-Policy:[default-src 'self' 'unsafe-inline' 'unsafe-hashes' 'unsafe-eval' data: *.googleapis.com *.gstatic.com *.googletagmanager.com *.google-analytics.com *.onetrust.com; base-uri 'self';] Content-Type:[application/json;charset=UTF-8] Date:[Tue, 19 Mar 2024 10:11:05 GMT] Server:[Apache] Set-Cookie:[AWSALB=lIOEWomhZX8RZGDo9h6A1ZkfEXoXOCb3BwS3auSxOp5Y78io9Dp7zEQBccKKBwx/sxC0gEagGAISkHhQPIchgnQWAPwDi/L9OY7YH0NPa2cvutu8l8avhICQfL6Y; Expires=Tue, 26 Mar 2024 10:11:05 GMT; Path=/ AWSALBCORS=lIOEWomhZX8RZGDo9h6A1ZkfEXoXOCb3BwS3auSxOp5Y78io9Dp7zEQBccKKBwx/sxC0gEagGAISkHhQPIchgnQWAPwDi/L9OY7YH0NPa2cvutu8l8avhICQfL6Y; Expires=Tue, 26 Mar 2024 10:11:05 GMT; Path=/; SameSite=None; Secure] X-Content-Type-Options:[nosniff] X-Xss-Protection:[1; mode=block]] 0xc000808920 186 [] false false map[] 0xc0005a4900 0xc000532d10}" func=github.com/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/data.GetDeviceData file="/Users/ronhks/dev/src/git/github/ronhks/panasonic-aquarea-smart-cloud-mqtt/src/data/data.go:111"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.