can you put the rpi near the stove to see if it’s not related to the wifi range ?
otherwyse can you post the related logs please
I cannot put the RPI near the stove sorry
but the signal seems ok -55dbm
here are the logs … it’s full of warning and error, my guess is that there a glitch somewhere in my installation
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/mczmaestro/sensor.py:88
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 19:27:05 (2 occurrences)
Last logged: 19:27:09
[548325464032] 'Ambient_Temperature'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 208, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 943, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/number/__init__.py", line 109, in async_set_value
await entity.async_set_native_value(native_value)
File "/config/custom_components/mczmaestro/number.py", line 68, in async_set_native_value
await self.coordinator.async_request_refresh()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 158, in async_request_refresh
await self._debounced_refresh.async_call()
File "/usr/src/homeassistant/homeassistant/helpers/debounce.py", line 82, in async_call
await task
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_refresh
await self._async_refresh(log_failures=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
self.async_update_listeners()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 110, in async_update_listeners
update_callback()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 348, in _handle_coordinator_update
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 545, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 583, in _async_write_ha_state
state = self._stringify_state(available)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 551, in _stringify_state
if (state := self.state) is None:
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 669, in state
value = self.native_value
File "/config/custom_components/mczmaestro/sensor.py", line 88, in native_value
return self.coordinator.data[self._command_name]
KeyError: 'Ambient_Temperature'
Logger: homeassistant.components.sensor
Source: custom_components/mczmaestro/sensor.py:88
Integration: Sensor (documentation, issues)
First occurred: 19:25:01 (4 occurrences)
Last logged: 19:27:46
Error adding entities for domain sensor with platform mczmaestro
Error while setting up mczmaestro platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 428, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 692, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 789, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 545, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 583, in _async_write_ha_state
state = self._stringify_state(available)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 551, in _stringify_state
if (state := self.state) is None:
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 669, in state
value = self.native_value
File "/config/custom_components/mczmaestro/sensor.py", line 88, in native_value
return self.coordinator.data[self._command_name]
KeyError: 'Ambient_Temperature'
I posted the issue on github, seem that I have the same problem than the other personn
yes thanks
Hello, does anyone know which port GlobeFire uses?
I am currently testing whether I can control/address this oven with the integration. The oven should actually work with the py-agua-iot integration, but it looks like this is outdated and only gives error messages.
Hello again @Mati24
Now i’ve got it up and working, and many thx for your help, I’ve got a few questions
- The switches you provide works as toggle switch, they do not stay on and go back to off immediately, is that normal ? like silence mode, etc …
- Is it possible to change or add another sensor for temperature to the climate entity, as I find the one from the stove really not accurate (especially because I only have the built in on, which is located at the back of the stove)
- Is it possible and how to add an option to the climate entity ? like
min_cycle_duration
so the stove does not shutdown too often ? - is it possible to add switch to control the active profil of the stove ? (Comfort, overnight, Manual ) as Dynamic is already available ?
thx a lot
- is it possible to add switch to control the active profil of the stove ? (Comfort, overnight, Manual ) as Dynamic is already available ?<
Getting into your code, i was able to modify it to my needs, I added 2 input number to control Fan and power, so I can use the manual mode, and I also modified your climate entity.
The rest of the questions remains open, as I have very limited knowledge with python and developping for HA.
Thx a lot
My MCZ Cute Air M1 doesn’t broadcast an SSID, and the app (currently) has a huge delay when configuring the stove (looks to be an hour delay lol)
Is there any way to force the stove to broadcast it’s network? I’d like to get rid of the app and have local control over the stove.
Maybe your stove is faulty, did you reboot it ?
It does not seem normal to have such a delay with the app
I’ve already rebooted it
App → stove communication is instant, but the data being displayed stove → app is delayed by like an hour.
At first, I thought it had something to do with the clock on the stove, so I set it correctly but that didn’t solve it.
I assume this has something to do with DST on their backend.
In more positive news, I managed to MITM the requests the app does, and can activate my stove with HTTP POST requests.
The app in my case doesn’t use websockets, which is weird.
If anyone is interested, I can share my research. They seem to work with a partner called Nuboj in the backend for this type of communication.
Hi,
I have two MCZ stoves and HassOS, is there an integration to control more than one stove? Maybe via router wifi instead of stove wifi? Thank you
Hi, I just bought a brand new MCZ pellet stove “Club Comfort Air 12 M2”, my older model stove had indeed the possibility to connect to your own network over wifi (in order to control the stove via the MCZ app (cloud)) and also a self hosted SSID called “WIFI HOME”. From my understanding they replaced that self hosted SSID (WIFI) by a bluetooth connection (BLE) for the newer models. The moment I realized this, I knew it would be even harder to get the stove working in HA. So, this script will probably not help me anymore ? Or are there other alternatives in order to get this working in HA ?
I’ve got mine working by reverse-engineering their cloud API, and pushing that to MQTT.
The end result is a climate entity.
It’s very poorly written custom code though, but if you’re intrested (and savy in C#) I can probably guide you to get it working for your stove.
I’m currently investigating if I can “hack” the BLE so I can have local control over the stove. The cloud API lags behind sometimes (and I don’t want my stove to be dependant on the cloud anyway…)
Hi @Crisicus, I see your native language is also dutch , anyway I would really appriciate it if you shared your work with me. I’m also a software engineer so maybe we can figure this out together somehow ?
j’ai le meme probleme je ne peux pas me connecter a l’integration proposer ci-dessus et je n’arrive pas non plus avec l add on cloud
I bought one too and like you I want to supervise it and follow the probes.
I connect the stove to my home connection, so I’m able to connect it remotely.
I took time to see all projects we already have to do this and I decided to create my own.
The goal is still the same, connect to the MCZ server remotely (not the internal wifi) and push all commands through MQTT
I would like to create a Haas addon
For me, it’s a little personal challenge.
Some people may be interested in this?
Do I need to publish it at the end?
Let me know
si vous y arrivez je suis interressé
Hi Bertrand,
We have this script already working to map the MCZ servers to MQTT.
I was already looking in the direction of making an community integration (HACS).
But this would be a personal challange for me aswell.
I’ll keep you guys posted if any good would come out of it
Hi
I newbee to home assitant and I try to connect my MCZ stove to my home assistant but it isnt working…
My configuration :
- Raspberry Pi 4 b
- Home assistant Home Assistant 2022.12.6 / Supervisor 2022.11.2 / Operating System 9.4
- Mosquitto broker version: 6.1.3 : it seems working because I use it with Zigbee2mqtt
My addon Maestro Gateway’s confirguration:
My rasberry is connected directly to my stove and the addon configuration is:
USE_MCZ_CLOUD: false
MQTT_ip: mqtt://core-mosquitto
MQTT_port: "1883"
MQTT_authentication: "True"
MQTT_user: ----
MQTT_pass: -----
MQTT_TOPIC_SUB: Maestro/Command
MQTT_TOPIC_PUB: Maestro/State
MQTT_PAYLOAD_TYPE: TOPIC
WS_RECONNECTS_BEFORE_ALERT: "5"
MCZip: 192.168.120.1
MCZport: "81"
MCZ_device_serial: xxxxxxxxxxxxx
MCZ_device_MAC: xxxxxxxxxxxx
MCZ_App_URL: http://app.mcz.it:9000
The log when I start the addon:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[13:23:12] INFO: Launching maestro local connection plugin
Starting Maestrogateway.
Systemd is not available. This is the case on docker alpine images and on windows machines
2022-12-20 13:23:13,232 :: __main__ :: INFO :: Starting Maestro Daemon
Reading config from envionment variables
2022-12-20 13:23:13,234 :: __main__ :: INFO :: Connection in progress to the MQTT broker (IP:mqtt://core-mosquitto PORT:1883)
mqtt authentication enabled
I understand nothing except “Systemd is not available”… Could you help me to solve this problem
Thanks
Olivier
I’m intersted. I have 2 stoves, one with bluetooth and the other with internal wifi.