Open dirkclae opened 2 years ago
Hi @dirkclae ,
can you post your modifications in comment here ? (i going to change the repository for permit more easily to post merge request)
with models.py modifications, you must change the code in sensor.py for export your new temperature sensor.
i can adding for you the necessary changes but for this i must see the export fumis status :
if you have curl , can you test this command
curl -H 'username:YOUR_MAC' -H 'password:YOUR_PIN' https://api.fumis.si/v1/status/
warning: you must suppress the password and the mac before posting the result
Hi Maheus
Thanks for your reply and help. I am currently on holiday but have my pc with me. Unfortenatly I can't connect my HA to my pellet stove ( network problem). I collected the output.json I copied your code from model.py into combust3.py on my PC. By changing the STOVE_ID to 4 or 5 I could extract both temperatures. See remark in the file. I will be back on Friday
Regards Dirk
Op vr 19 aug. 2022 om 21:04 schreef maheus @.***>:
Hi @dirkclae https://github.com/dirkclae ,
can you post your modifications in comment here ? (i going to change the repository for permit more easily to post merge request)
with models.py modifications, you must change the code in sensor.py for export your new temperature sensor.
i can adding for you the necessary changes but for this i must see the export fumis status : if you have curl , can you test this command curl -H 'username:YOUR_MAC' -H 'password:YOUR_PIN' https://api.fumis.si/v1/status/
warning: you must suppress the password and the mac before posting the result
— Reply to this email directly, view it on GitHub https://github.com/maheus/fumis_integration/issues/5#issuecomment-1221010902, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZZKCYUQUF2GAE3JKYKVRXDVZ7LE3ANCNFSM57BFDLSA . You are receiving this because you were mentioned.Message ID: @.***>
Hi Maheus
Back at home.
Hereby the content of script to extract both temperatures. It seems that the order of the temperatures are not always the same. I heated the stove to see the different temperatures.
import json import sys
STOVE_ID = 7
with open('output.json','r') as json_file: json_load = json.load(json_file)
temperatures = (json_load['controller']['temperatures'])
temperature = [d for d in temperatures if d['id'] == STOVE_ID ][0] print (temperature)
Curl OUTPUT
{"apiVersion":"1.3","unit":{"id":"0016D000XXXX","type":0,"version":"2.4.0","command":null,"rssi":"-80","ip":"192.168.1.18","timezone":null,"temperature":30.8},"controller":{"type":2,"version":"2.1.0","command":1,"status":0,"heatingSlope":-0.1,"stoveLastAvailability":1661441091,"mobileLastAvailability":1661440546,"currentTime":1661441132,"error":0,"alert":0,"timerEnable":false,"fuelType":1,"timeToService":1559,"delayedStartAt":-1,"delayedStopAt":-1,"power":{"setType":1,"actualType":2,"kw":2.7,"actualPower":2,"setPower":2},"antifreeze":{"temperature":null,"enable":false},"statistic":{"igniterStarts":1,"uptime":1489920,"heatingTime":5340,"serviceTime":4440,"overheatings":0,"misfires":0,"fuelQuantityUsed":0},"diagnostic":{"parameters":[{"id":0,"value":20},{"id":1,"value":5},{"id":2,"value":0},{"id":3,"value":5},{"id":4,"value":237},{"id":5,"value":200},{"id":6,"value":12},{"id":7,"value":60},{"id":8,"value":22},{"id":9,"value":75},{"id":10,"value":14},{"id":11,"value":100},{"id":12,"value":22},{"id":13,"value":125},{"id":14,"value":31},{"id":15,"value":140},{"id":16,"value":39},{"id":17,"value":155},{"id":18,"value":46},{"id":19,"value":240},{"id":20,"value":220},{"id":21,"value":185},{"id":22,"value":215},{"id":23,"value":240},{"id":24,"value":70},{"id":25,"value":85},{"id":26,"value":108},{"id":27,"value":129},{"id":28,"value":150},{"id":29,"value":0},{"id":30,"value":0},{"id":31,"value":0},{"id":32,"value":0},{"id":33,"value":0},{"id":34,"value":85},{"id":35,"value":100},{"id":36,"value":120},{"id":37,"value":135},{"id":38,"value":150},{"id":39,"value":100},{"id":40,"value":120},{"id":41,"value":0},{"id":42,"value":0},{"id":43,"value":0},{"id":44,"value":0},{"id":45,"value":80},{"id":46,"value":95},{"id":47,"value":105},{"id":48,"value":120},{"id":49,"value":135},{"id":50,"value":5},{"id":51,"value":50},{"id":52,"value":5},{"id":53,"value":0},{"id":54,"value":30},{"id":55,"value":150},{"id":56,"value":45},{"id":57,"value":200},{"id":58,"value":50},{"id":59,"value":35},{"id":60,"value":45},{"id":61,"value":100},{"id":62,"value":230},{"id":63,"value":0},{"id":64,"value":0},{"id":65,"value":0},{"id":66,"value":0},{"id":67,"value":5},{"id":68,"value":40},{"id":69,"value":60},{"id":70,"value":120},{"id":71,"value":3},{"id":72,"value":5},{"id":73,"value":100},{"id":74,"value":100},{"id":75,"value":100},{"id":76,"value":3},{"id":77,"value":0},{"id":78,"value":0},{"id":79,"value":0},{"id":80,"value":0},{"id":81,"value":0},{"id":82,"value":200},{"id":83,"value":90},{"id":84,"value":70},{"id":85,"value":80},{"id":86,"value":90},{"id":87,"value":25},{"id":88,"value":45},{"id":89,"value":1},{"id":90,"value":0},{"id":91,"value":0},{"id":92,"value":2},{"id":93,"value":1},{"id":94,"value":65},{"id":95,"value":50},{"id":96,"value":4},{"id":97,"value":15},{"id":98,"value":0},{"id":99,"value":0},{"id":100,"value":20},{"id":101,"value":70},{"id":102,"value":0},{"id":103,"value":10},{"id":104,"value":5},{"id":105,"value":60}],"variables":[{"id":0,"value":2},{"id":1,"value":17410},{"id":2,"value":68},{"id":3,"value":0},{"id":4,"value":0},{"id":5,"value":2},{"id":6,"value":0},{"id":7,"value":2},{"id":8,"value":0},{"id":9,"value":5},{"id":10,"value":0},{"id":11,"value":0},{"id":12,"value":0},{"id":13,"value":1},{"id":14,"value":52},{"id":15,"value":413},{"id":16,"value":29},{"id":17,"value":1},{"id":18,"value":14},{"id":19,"value":1},{"id":20,"value":0},{"id":21,"value":0},{"id":22,"value":263},{"id":23,"value":23},{"id":24,"value":25},{"id":25,"value":17},{"id":26,"value":4},{"id":27,"value":25},{"id":28,"value":8},{"id":29,"value":22},{"id":30,"value":1},{"id":31,"value":0},{"id":32,"value":0},{"id":33,"value":1},{"id":34,"value":0},{"id":35,"value":1},{"id":36,"value":0},{"id":37,"value":253},{"id":38,"value":20210309},{"id":39,"value":1355},{"id":40,"value":1},{"id":41,"value":246},{"id":42,"value":20210309},{"id":43,"value":1355},{"id":44,"value":2},{"id":45,"value":253},{"id":46,"value":20210309},{"id":47,"value":1356},{"id":48,"value":3},{"id":49,"value":246},{"id":50,"value":20210310},{"id":51,"value":1104},{"id":52,"value":4},{"id":53,"value":253},{"id":54,"value":20210310},{"id":55,"value":1105},{"id":56,"value":5},{"id":57,"value":246},{"id":58,"value":20210310},{"id":59,"value":1105},{"id":60,"value":6},{"id":61,"value":253},{"id":62,"value":20210310},{"id":63,"value":1105},{"id":64,"value":7},{"id":65,"value":246},{"id":66,"value":20210310},{"id":67,"value":1105},{"id":68,"value":8},{"id":69,"value":253},{"id":70,"value":20210310},{"id":71,"value":1105},{"id":72,"value":9},{"id":73,"value":246},{"id":74,"value":20210310},{"id":75,"value":1251},{"id":76,"value":10},{"id":77,"value":253},{"id":78,"value":20210316},{"id":79,"value":1249},{"id":80,"value":11},{"id":81,"value":246},{"id":82,"value":20210316},{"id":83,"value":1454},{"id":84,"value":12},{"id":85,"value":247},{"id":86,"value":20220728},{"id":87,"value":1651},{"id":88,"value":13},{"id":89,"value":247},{"id":90,"value":20220802},{"id":91,"value":1657},{"id":92,"value":14},{"id":93,"value":246},{"id":94,"value":20220813},{"id":95,"value":810},{"id":96,"value":2},{"id":97,"value":12},{"id":98,"value":0},{"id":99,"value":0}],"timers":[{"id":0,"value":6},{"id":1,"value":30},{"id":2,"value":21},{"id":3,"value":30},{"id":4,"value":9},{"id":5,"value":0},{"id":6,"value":22},{"id":7,"value":0},{"id":8,"value":21},{"id":9,"value":30},{"id":10,"value":9},{"id":11,"value":0},{"id":12,"value":0},{"id":13,"value":0},{"id":14,"value":0},{"id":15,"value":0},{"id":16,"value":1},{"id":17,"value":3},{"id":18,"value":1},{"id":19,"value":3},{"id":20,"value":1},{"id":21,"value":3},{"id":22,"value":1},{"id":23,"value":3},{"id":24,"value":1},{"id":25,"value":3},{"id":26,"value":2},{"id":27,"value":3},{"id":28,"value":2},{"id":29,"value":3},{"id":30,"value":0},{"id":31,"value":0},{"id":32,"value":0},{"id":33,"value":0},{"id":34,"value":0},{"id":35,"value":0},{"id":36,"value":0},{"id":37,"value":0},{"id":38,"value":0},{"id":39,"value":0},{"id":40,"value":0},{"id":41,"value":0},{"id":42,"value":0},{"id":43,"value":0},{"id":44,"value":0},{"id":45,"value":200},{"id":46,"value":190},{"id":47,"value":140},{"id":48,"value":0},{"id":49,"value":0},{"id":50,"value":0}]},"ecoMode":{"ecoModeSetType":1,"ecoModeEnable":0},"hybrid":{"actualType":1,"operation":0,"state":0},"fans":[{"weight":0,"speedType":0,"speed":0,"id":1}],"fuels":[{"name":null,"quality":2,"qualityType":0,"qualityActual":null,"quantitySetType":2,"quantityActualType":2,"quantity":1,"quantityDisplay":1,"id":1}],"temperatures":[{"name":null,"weight":0,"setType":0,"actualType":0,"onMainScreen":false,"actual":0,"set":0,"id":4},**{"name":null,"weight":0,"setType":2,"actualType":1,"onMainScreen":true,"actual":26.3,"set":10,"id":1},**{"name":null,"weight":0,"setType":0,"actualType":0,"onMainScreen":false,"actual":0,"set":0,"id":6},{"name":null,"weight":0,"setType":0,"actualType":0,"onMainScreen":false,"actual":0,"set":0,"id":5},**{"name":null,"weight":0,"setType":0,"actualType":10,"onMainScreen":false,"actual":40,"set":0,"id":7},**{"name":null,"weight":0,"setType":1,"actualType":1,"onMainScreen":false,"actual":0,"set":0,"id":9},{"name":null,"weight":0,"setType":1,"actualType":1,"onMainScreen":false,"actual":0,"set":0.5,"id":8},{"name":null,"weight":0,"setType":0,"actualType":0,"onMainScreen":false,"actual":0,"set":0,"id":2},{"name":null,"weight":0,"setType":0,"actualType":0,"onMainScreen":false,"actual":0,"set":0,"id":3}],"timers":[]}}
Hi @dirkclae , sorry for the delay but i'm very very busy with my new job. i look for adding your modification
i think i going to ask stove id in config flow .
for the moment i going to test with a list of stove_id .
in custom_components/fumis/fumis/const.py
STOVE_ID = [1, 7]
in models custom_components/fumis/fumis/models.py
temperature = [d for d in temperatures if d['id'] in STOVE_ID]
we got two list of dict
[{'name': None, 'weight': 0, 'setType': 2, 'actualType': 1, 'onMainScreen': True, 'actual': 26.3, 'set': 10, 'id': 1}, {'name': None, 'weight': 0, 'setType': 0, 'actualType': 10, 'onMainScreen': False, 'actual': 40, 'set': 0, 'id': 7}]
i will continue tomorrow
Hi Maheus,
Thanks a lot for your effort.
Regards
Dirk
Op wo 23 nov. 2022 om 23:36 schreef maheus @.***>:
i think i going to ask stove id in config flow . for the moment i going to test with a list of stove_id . in custom_components/fumis/fumis/const.py STOVE_ID = [1, 7] in models custom_components/fumis/fumis/models.py temperature = [d for d in temperatures if d['id'] in STOVE_ID] we got two list of dict
[{'name': None, 'weight': 0, 'setType': 2, 'actualType': 1, 'onMainScreen': True, 'actual': 26.3, 'set': 10, 'id': 1}, {'name': None, 'weight': 0, 'setType': 0, 'actualType': 10, 'onMainScreen': False, 'actual': 40, 'set': 0, 'id': 7}]
i will continue tomorrow
— Reply to this email directly, view it on GitHub https://github.com/maheus/fumis_integration/issues/5#issuecomment-1325734375, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZZKCYSX4VJNRLYFAYLBQVLWJ2L5LANCNFSM57BFDLSA . You are receiving this because you were mentioned.Message ID: @.***>
i'm sorry but for the moment my tests failed :( . HA does not automatically create entities by ID but I will get there
Dear, I recently implemented the tar file and everything works. I have a Hybrid pellet and would like to see both temperatures, being inside and room temperature. I have tried to change the code in models.py to obtain one of both and this seems to work. In my HA setup all the pellet stove entries (6) are set to "living room". When I select inside temperature the graph is shown … more, selecting “living room”. At that moment 3 temperatures are shown, inside, actual and target. Inside and actual are the same, sometimes 0.5 off. What needs to be done to show both temperatures correctly ? I am interested to see the Combustion chamber temperature when running on pellets or wood. Regards Dirk