[guntamatic] New Binding for Guntamatic Heating Systems (Biostar, Powerchip, Powercorn, Biocom, Pro, Therm, Biosmart)

Hi,

I have implemented a Binding that can be used to monitor and control Guntamatic Heating Systems.

The Guntamatic Binding was developed and tested using Guntamatic Biostar 15kW Pellets Heating System running Firmware 3.2d. It should work for all other Guntamatic Heating Systems (Pellets, WoodChips as well as Log Heating Systems) as well, that support the same web interface:

  • Biostar (Pellets, tested via 15kW, firmware 3.2d, German & English)
  • Biosmart (Log, tested via 22kW, firmware 3.2f, German)
  • Powerchip (WoodChips, tested via 100kW, firmware 3.2d, French)
  • Powercorn (EnergyGrain, untested)
  • Biocom (Pellets, untested)
  • Pro (Pellets or WoodChips, untested)
  • Therm (Pellets, untested)

All the different languages that can be configured in the Guntamatic Heating System are supported.

Control of the Guntamatic Heating System is possible since binding version v2.1.0 (see below).

Please give it a try and report issues in order to improve the usablity as well as the number of supported Guntamatic Heating Systems.

Github Branch with ReadMe including more details:

ReadMe as part of OH3.3.0ff:
https://next.openhab.org/addons/bindings/guntamatic/

Versions:

Download the zipped jar from above and unzip the file to your addons directory. In case you want to upgrade the binding to a newer version, remove and re-add the thing.

If you encounter any issues with the binding, please post the log here or send me the log via PM.
Take care that there is no private data (key…) in the log before posting.
Set log level of org.openhab.binding.guntamatic to DEBUG in order to get some more details.

Your feedback is appreciated!
regards

1 Like

Hello,
I have a BIOSMART heater. I already have it running successfully with the http binding. I would like to extend your binding but unfortunately I lack the knowledge to suspend a binding. But maybe I can send you some information and I will test the extension from you.

Greetings
Tobias

Hi Tobias,

no worries, you do not be a developer in order to help.

This plugin was developed for the pellets heating systems mentioned in the headline.
If the log heating systems from Guntamatic implement the same web-interface it should work as well.
In this case at least the monitoring should work, independent from the variant that you select.
Control of the heating system is another question as this uses device specifc parameters that we would need to figure out.

Can you please give the lastest plugin a try and report your observations?

Since yesterday, the plugin is merged to the official openhab-addons repro. That means that you will receive it from now on when installing openhab 3.3.0 SNAPSHOT or future releases.

In the meanwhile you could use org.openhab.binding.guntamatic-3.3.0-SNAPSHOT_v2.3.0 for testing.

Thanks and kind regards
mike

Hi @kl8ter,

any news from your side?
Did you gave the current binding a try using your log heating system?
If you confirm the operation, we can update the documentation in regards to log heating systems.

If not, it would be great you you can save and send me a snapshot of the webpage that you are currently parsing (“I already have it running successfully with the http binding”).
This would help to identify how the binding needs to be adapted in order to provide the log heating system support.

thanks and kind regards
mike

Moin @MikeTheTux
Yes, I have tried to integrate my Biosmart on your binding, unfortunately without success, the values are not updated.
Here is the page where I access via http binding:
http://[guntamaticIP]/mbmap.cgi?key=[guntamaticKey]

An here my things:

Thing http:url:guntamatic "Guntamatic" @ "Garage"[ 
	baseURL="http://X.X.X.X", 
	headers="key1=value1", "key2=value2", "key3=value3",
	refresh=15] {
		Channels:
			Type string : betrieb 			"Betrieb"				[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Betrieb.*?</code>(.*?)<.*" ]
			Type number : aussen  			"Aussentemperatur" 		[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Aussentemperatur.*?</code>(.*?)<.*" ]
			Type number : kesseltemperatur	"Kesseltemperatur"		[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Kesseltemperatur.*?</code>(.*?)<.*" ]
			Type number : kesselpumpe		"Kesselpumpe"			[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Kesselladepumpe.*?</code>(.*?)<.*" ]
			Type number : pufferladung		"Pufferladung"			[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Pufferladung.*?</code>(.*?)<.*" ]
			Type number : pufferoben		"Puffer oben"			[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Puffer oben.*?</code>(.*?)<.*" ]
			Type number : puffermitte		"Puffer oben"			[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Puffer mitte.*?</code>(.*?)<.*" ]
			Type number : pufferunten		"Puffer oben"			[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Puffer unten.*?</code>(.*?)<.*" ]
			Type number : CO2				"Gehalt"				[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Gehalt.*?</code>(.*?)<.*" ]
			Type number : betriebsh			"Betriebsstunden"		[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Betriebsstunden.*?</code>(.*?)<.*" ]
			Type number : service			"Servicezeit"			[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Servicezeit.*?</code>(.*?)<.*" ]
			
			Type string : programm			"Programm"				[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Programm.*?</code>(.*?)<.*" ]
			Type number : hk1vorlauf		"Vorlauftemperatur"		[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Vorlauf Ist 1.*?</code>(.*?)<.*" ]
			Type string : hk1programm		"Programm HK"			[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Progamm HK1.*?</code>(.*?)<.*"]
			Type number : hk1pumpe			"Heizkreispumpe"		[ stateExtension="mbmap.cgi?key=verySecret", stateTransformation="REGEX:.*?Heizkreispumpe 1.*?</code>(.*?)<.*" ]
			//Type string : hk1programmauswahl"Programm HK auswahl"   [ stateContent="ext/parset.cgi?syn=HK101&value=%2$s&key=verySecret"]
			
	}

And to change the heating, I send the following in rule. I have not managed to implement it via a Thing:

	val syn		= "?syn=HK101"
	val key 	= "&key=verySecret"
	val value	= "&value=" + Gmc_HK1_programm_auswahl.state 
       //Gmc_HK1_programm_auswahl.state =
       //0=aus
       //1=normal
       //2=normal (Uhrenprogramm)
       //3=absenken		
	val output 	= sendHttpGetRequest("http://[guntamaticIP]/ext/parset.cgi"+syn+value+key)

Does your binding work web-based or do you retrieve the values via Mod-Bus?

kind regards
Tobias

Hi @kl8ter,

what you show looks very similar to what my heating system is offering.

The binding parses the following HTML pages (not modbus):

  • /daqdata.cgi&key=verySecret
  • /daqdesc.cgi&key=verySecret
  • /ext/daqdesc.cgi&key=verySecret

Are these pages available on your device?
Can you please share the content?

Did the bindig throw any warning/error?

Thanks and kind regards
mike

@MikeTheTux

no can’t open the Website:

daqdata

I’m testing your binding again right now. And now it seems to work: I am testing the temperatures of the memory. Top middle bottom work.

Can you also change the heating via your binding? Do you also use this function?
What I solve with the rule.

Great :ok_hand:

HK101 can be set via the controlHeatCircProgram1 channel.

THX

In your documentation I am missing the following entry for the following channel: guntamatic:biostar:mybiostar:betrieb

The docu shows the channels when having the heating system configured to English language.
Betrieb = Running

With your feedback, we could now officially introduce Biosmart log heating systems.

Do you have a Biosmart specific docu of the webinterface? The docu I used for development covers pellet systems only :frowning:


Do you know / can you figure out the parameter that must be used for boilerApproval (Kesselfreigabe) on Biosmart?

1 Like

in my case:

  • /ext/daqdata.cgi&key=verySecret
  • /ext/daqdesc.cgi&key=verySecret
  • Synonym bei Biosmart: HK101

You can find that further down the same page at:
“Einstellen des Heizkreisprogrames”

in my case the 1st heating circuit: Also HK101

Here the http command:
http://[guntermaticIP]/ext/parset.cgi?syn=HKx01&value=[number]&key=verySecret

  • syn=HKx01
    → x=0…8(heating circuit)(Heizkreis)
  • value
    → 0 = OFF (AUS)
    → 1 = NORMAL (NORMAL (Uhrenprogramm))
    → 2 = HEATING (HEIZEN)
    → 3 = ??? (ABSENKEN)

Can you please attach your version of the document? Mine does not include any info on Biosmart.

02.April 2014

When I request a release with the parameter syn=HK101 I get the following response:

{"ack":"Parameter wurde erfolgreich gespeichert!"}

I’m very sure that the binding channel controlHeatCircProgram1 will work in order to switch your heating circle 1.

In order to support all the other channels for Biosmart, i was asking myself which parameter must be used for “Kesselfreigabe” - as it is not part of the heating system list (see screenshot above).
It might be, that Biosmart is not providing the channel for “Kesselfreigabe” at all!?

I know that version.
I am using an slightly updated version from 2015.

When I request a release with the parameter syn=HK101 I get the following response:

Do you mean when using your rule via the http binding?

Did you try channel controlHeatCircProgram1 in the meanwhile?
FYI - it is an advanced channel. Therefore you need to un-hide it in the GUI first (“Show advanced”).

I’m testing your binding again right now. And now it seems to work: I am testing the temperatures of the memory. Top middle bottom work.

If you receive values for your channels, it means that your heating system also supports (with and without the ext):
/daqdata.cgi&key=verySecret
If not, the channels would not populate with data.

When comparing your and my mbmap.cgi, I can see that yours doesn’t provide the parameter “Boiler Approval”:

With this information I read the Guntamatic spec now in the way, that only pellets heating systems (Biostar, Powerchip, Powercorn, Biocom, Pro, Therm) are supporting this channel, but not log heating systems like Biosmart.

This helps when adding the support for additional heating systems to the binding,

Above you can find now a new version v2.4.0 of this binding, which supports now also Biosmart Log Heating Systems.
I will create an OH PR later.