lostfields / python-panasonic-comfort-cloud

A python module for reading and changing status of panasonic climate devices through Panasonic Comfort Cloud app api
MIT License
69 stars 40 forks source link

Possible to retrieve data #21

Closed EvertJob closed 2 years ago

EvertJob commented 4 years ago

Hi,

In a few weeks my new Panasonic airco will be mounted. Is it possible te retrieve any data from the AC and get it as output or if this plugin just for setting the settings?

Thanks!

LudovicRousseau commented 4 years ago

You can get the current data, and also the historical data. See https://github.com/lostfields/python-panasonic-comfort-cloud/pull/11 for example.

@lostfields maybe you should add some output samples in the README.md or in a wiki page.

In my case I get the current data every 30 minutes and inject them in an influxdb database connected to a grafana for display.

EvertJob commented 4 years ago

That is exactly what I would like (InfluxDB), do you have the code for this public available or any push in the right direction? Why invent the wheel a second time ;)

LudovicRousseau commented 4 years ago

You can get my code in my fork in the branch influxdb directory influxdb https://github.com/LudovicRousseau/python-panasonic-comfort-cloud/tree/influxdb/influxdb

EvertJob commented 4 years ago

Great, will check it out when the AC arrived. Looks kinda simple? Just edit the config and run the script I guess?

LudovicRousseau commented 4 years ago

Yes. The code was for me so you may need adapt it to your needs.

EvertJob commented 4 years ago

Great. Don’t think i will need a lot, just the energy usage and temperature to begin with :)

EvertJob commented 4 years ago

@LudovicRousseau busy with the script and I'm getting some data to Grafana: Clim consigne=30.000000,inside=126

Only no data like energy usage and kind like that. How can I push that to Grafana? When I change the clim2influxdb.py script a bit (putting my login information directly In the script) I'm enable to get some debug and that is working fine:

DEBUG[clim2influxdb] Using date: 20200321
DEBUG[clim2influxdb] [ { 'group': 'My House',
    'id': '',
    'model': '',
    'name': 'Slaapkamer'}]
DEBUG[clim2influxdb] Using device:
DEBUG[clim2influxdb] [ { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 0},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 1},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 2},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 3},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 4},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 5},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 6},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 7},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 8},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 9},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 10},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 11},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 12},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 13},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 14},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 15},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 16},
  { 'averageInsideTemp': -255,
    'averageOutsideTemp': -255,
    'averageSettingTemp': -255,
    'consumption': -255,
    'cost': -255,
    'dataNumber': 17},
  { 'averageInsideTemp': -255.0,
    'averageOutsideTemp': 8.0,
    'averageSettingTemp': 16.0,
    'consumption': 0.054,
    'cost': 0.0,
    'dataNumber': 18},
  { 'averageInsideTemp': -255.0,
    'averageOutsideTemp': 8.0,
    'averageSettingTemp': 16.0,
    'consumption': 0.035,
    'cost': 0.0,
    'dataNumber': 19},
  { 'averageInsideTemp': -255.0,
    'averageOutsideTemp': -255.0,
    'averageSettingTemp': 16.0,
    'consumption': 0.0,
    'cost': 0.0,
    'dataNumber': 20},
  { 'averageInsideTemp': -255.0,
    'averageOutsideTemp': -255.0,
    'averageSettingTemp': 25.0,
    'consumption': 0.001,
    'cost': 0.0,
    'dataNumber': 21},
  { 'averageInsideTemp': -255.0,
    'averageOutsideTemp': -255.0,
    'averageSettingTemp': -255.0,
    'consumption': 0.0,
    'cost': 0.0,
    'dataNumber': 22},
  { 'averageInsideTemp': -255.0,
    'averageOutsideTemp': -255.0,
    'averageSettingTemp': -255.0,
    'consumption': 0.0,
    'cost': 0.0,
    'dataNumber': 23}]

But whatever I do it's not getting into InfluxDB (Yes, I know you should use the bash script but I wanted to see is there is any output at all)

LudovicRousseau commented 4 years ago

Maybe it is because of this line https://github.com/LudovicRousseau/python-panasonic-comfort-cloud/blob/influxdb/influxdb/clim2influxdb.py#L114

I don't know why all your averageInsideTemp are at -255.0.

EvertJob commented 4 years ago

Maybe it is because of this line https://github.com/LudovicRousseau/python-panasonic-comfort-cloud/blob/influxdb/influxdb/clim2influxdb.py#L114

I don't know why all your averageInsideTemp are at -255.0.

Yes, all ready figured it out. On this moment I use the "averageSettingTemp" to get the error fixed. Why my inside temperatures are empty I don't know. In the app it's the same.

Than the next issue (currently fixed it with a separated SH file) by clim2influxdb_day.sh is not working. I've already changed the rights for the file (the same as clim2influxdb.sh) and I don't get any result.

When I run the file the arguments are just --current instead of the day before.

To solve the error I made a copy of the original clim2influxdb.sh and changes the "ARGS="--current"" to "ARGS="--day $YESTERDAY"" and put this one above: YESTERDAY=TZ=GMT+24 date +%Y/%m/%d;

And I would like to always get the power status in InfluxDB, it should be around this line but Python is not a language I know and I would like to edit as less as possible. Do you know how?

lostfields commented 2 years ago

Please create a new issue if this is still relevant.