[External integration] đŸ”„ Local Palazzetti integration for Gladys

Hello everyone,

Here is an external integration to control Palazzetti pellet stoves from Gladys. It goes through the local API of the Connection Box, so without cloud, Palazzetti account, or MQTT bridge.

:backhand_index_pointing_right: Repository: GitHub - William-De71/gladys-palazzetti · GitHub
:open_book: French documentation: gladys-palazzetti/docs/fr.md at main · William-De71/gladys-palazzetti · GitHub

Palazzetti

What it does

The stove device, with only the functions your model has:

  • on/off, setpoint, power (1 to 5);
  • fans: off, 1 to 5, max or auto, with left and right depending on the model;
  • silent mode and activation of the timer;
  • ambient temperature (or water temperature for hydro models), flue temperature, and other available probes;
  • clear status (Ignition, Combustion, Eco Mode, Cooling
) and current alarm;
  • pellets consumed, hopper level, number of ignitions, heating hours, hours since maintenance.

Scene triggers:

  • stove state change, filterable: off, ignition, heating, eco standby, shutdown, alarm
;
  • alarm, filterable by type: out of pellets, door open, overheating, draft, flue cleaning
;
  • alarm end;
  • pellets almost empty;
  • stove unreachable, then reachable again.

Each trigger provides a summary ready to be sent as a message, for example « Living room is in alarm: Out of pellets. »

Scene actions:

  • Read the stove: status, temperatures, setpoint, power
 usable in conditions or messages;
  • Adjust the stove: on/off, setpoint, power, and ventilation in a single action.

Dashboard widgets:

  • Stove: live temperature and setpoint, 24-hour curve, status, and buttons to Turn On/Off, −1 °C, +1 °C, and Power;
  • Pellet consumption: kg per day as a histogram, average, 15 kg bags per week, counters.

Installation

  • You need Gladys 5.1.1 or later.
  • The Discovery button of the integration finds the Connection Boxes on the network.
  • If your network blocks discovery, enter the box’s IP address in the configuration. To check that the box responds, open in a browser: http://BOX_IP/cgi-bin/sendmsg.lua?cmd=GET+STAT. You should get JSON.
  • The box does not notify Gladys of changes. The integration therefore reads the stove every 30 s by default, adjustable from 10 to 300 s.
  • A fixed IP address for the box is recommended. If it changes, the integration still finds the stove, with a few minutes of delay.

:warning: Call for testers

I don’t have a Palazzetti stove: everything was developed from real responses of boxes found online (Ginger, Julie Pro 2), the library used by Home Assistant, and the official Palazzetti SDK. This has not yet been tested on a real stove.

@Steph38230, as you offered, your feedback would be very helpful. In particular, could you copy here what these three addresses return? Remember to hide the MAC address and serial number.

  • http://BOX_IP/cgi-bin/sendmsg.lua?cmd=GET+STDT
  • http://BOX_IP/cgi-bin/sendmsg.lua?cmd=GET+ALLS
  • http://BOX_IP/cgi-bin/sendmsg.lua?cmd=GET+CNTR

The points I care about the most:

  • the counters (GET CNTR);
  • the Set stove time action in the configuration;
  • the alarm labels, as the sources do not all agree on the codes.

Feedback from everyone who has a Palazzetti stove, or another brand with a Fumis card and a Connection Box, is also welcome. For bugs: GitHub issues or this thread :slightly_smiling_face:

Community integration, not affiliated with Palazzetti.

CTNR :

{"INFO":{"RSP":"OK","CMD":"GET CNTR","TS":1791782922},"SUCCESS":true,"DATA":{"IGNERRORS":0,"POWERTIME":"44987:58","SERVICETIME":"07:45","PQT":4388,"OVERTMPERRORS":0,"HEATTIME":"5299:48","ONTIME":"00:00","IGN":2477}}

ALLS :

{"INFO":{"RSP":"OK","CMD":"GET ALLS","TS":1791783501},"SUCCESS":true,"DATA":{"T2":28.9,"F2LF":2,"PQT":4388,"PWR":3,"CHRSTATUS":0,"FANLMINMAX":[0,5,0,5,0,5],"FDR":0,"F2V":0,"MOD":1228,"DPT":0,"APLWDAY":1,"MAC":"40:F3:85:70:xx:xx","SETP":20,"APLTS":"2026-10-12 07:38:17","STATUS":9,"T3":63,"T1":0,"PUMP":0,"T5":22.5,"F1RPM":0,"OUT":0,"SN":"LT202029480580589xxxxxx","F1V":0,"EFLAGS":0,"LSTATUS":51,"T4":0,"F3L":2,"F2L":7,"CORE":34,"F4L":2,"IN":11,"DP":0,"FWDATE":"2020-11-20","VER":2,"MBTYPE":0}}

STDT :

{"INFO":{"RSP":"OK","CMD":"GET STDT","TS":1791783636},"SUCCESS":true,"DATA":{"GWDEVICE":"wlan0","GATEWAY":"192.168.0.254","PSENSLTSH":0,"WMAC":"40:F3:85:70:xx:xx","plzbridge":"2.2.1 2021-09-22 16:14:57","HWTYPE":7,"NOMINALPWR":12,"AUTONOMYTYPE":1,"WMODE":"sta","STOVETYPE":1,"CHRONOTYPE":5,"SPLMIN":6,"DSPFWVER":44,"MOD":1228,"FAN2MODE":3,"EGW":"192.168.0.116","MAC":"40:F3:85:70:xx:xx","FAN2TYPE":5,"SPLMAX":51,"ECBL":"down","FLUID":0,"WADR":"192.168.xx.xx","CLOUD_ENABLED":true,"EPR":"static","PELLETTYPE":3,"PSENSLMIN":0,"SNCHK":1,"PSENSLMAX":0,"PSENSTYPE":0,"CONFIG":1,"LABEL":"Poele maison","EMSK":"255.255.255.0","BLEMBMODE":17,"WGW":"192.168.0.254","UICONFIG":1,"BLEDSPMODE":13,"MAINTPROBE":4,"ICONN":1,"EBCST":"","FWDATE":"2020-11-20","WSSID":"FBX_xxxxx","WPR":"dhcp","VER":2,"WPWR":"-72 dBm","MBTYPE":0,"WENC":"psk2","CBTYPE":"miniembplug","EADR":"192.168.xx.xx","sendmsg":"2.1.2 2018-03-28 10:19:09","WMSK":"255.255.255.0","EMAC":"40:F3:85:70:xx:xx","CORE":34,"SN":"LT202029480580589xxxxxx","APLCONN":1,"DNS":["192.168.0.254","192.168.0.254","127.0.0.1"],"SYSTEM":"2.5.3 2021-10-03 09:13:42 (b0ebcdc)","WBCST":"192.168.0.255","WCH":"11"}}

Thanks for your feedback.

Let me know if anything doesn’t work or is missing.
Thanks in advance.

I don’t know if it’s feasible, but what would be great is a programming console to set the days, time slots, and setpoint temperatures because doing it on the phone in the PALAZETTI app is a real pain :rofl:

For me, everything seems to be working fine. Thanks for the job.

I have limitations with external integrations, I’ll see what I can do and keep you posted. In the meantime, thanks for your feedback.

With the new thermostat integration, maybe?

Well spotted @mutmut