PC aansluiting (RS 232?) op Intergas CV ketel HR 28/24

All,

Ik heb een OTGW gebouwd om het stookgedrag van mijn HR 36/30 in de gaten te houden maar liep tegen het probleem aan dat deze geen temperatuur van het retourwater doorgaf. Dit bleek te komen door de ketel zelf. Nu liep ik deze post tegen het lijf en probeer ik erachter te komen of één van de temperatuurwaardes de retourwaarde is. De benaming is echter vrij algemeen en uit de plaatjes kom ik er ook niet uit.

Alvast dank.

meet de ketel wel de retourwaarde? dat doet niet elke hr ketel, geen sensor is geen waarde..

waar rook was, werkt nu iets niet meer
PE9SMS

Special Member

Deze ketel heeft voor zover ik weet geen sensor voor de retour. Is ook niet echt nodig want de regellus die de uitgaande temp stuurt grijpt vanzelf in door de brander lager of uit te zetten als de retour warm is. Ik heb zelf een los thermometertje op de retourbuis zitten.

This signature is intentionally left blank.

Op 15 december 2016 06:37:16 schreef PE9SMS:
Deze ketel heeft voor zover ik weet geen sensor voor de retour. Is ook niet echt nodig want de regellus die de uitgaande temp stuurt grijpt vanzelf in door de brander lager of uit te zetten als de retour warm is. Ik heb zelf een los thermometertje op de retourbuis zitten.

Volgens de installatiehandleiding zit die er wel in (zie component E) of is dit iets anders?

http://loosbroe.home.xs4all.nl/hr3630.png

PE9SMS

Special Member

Ja inderdaad. Ik ken op mijn HRE 36/30 echter geen manier om de retour via het display op het toestel weer te geven. Met de aanvoer (zowel gevraagde als werkelijke) kan dat wel. Ik weet niet of het via RS232 / IDS software wel mogelijk is de retour uit te lezen.

This signature is intentionally left blank.

Met inspiratie van Kees en Leo ook aan het knutselen gegaan met mijn Intergas Prestige CW6 ketel. Ik gebruik momenteel een FTDI TTL tezamen met een RaspberryPi.

PoC code is te vinden in:
https://github.com/rickvanderzwet/IntergasBoilerReader

Opto-couplers voor de galvanische scheiding zijn besteld...

mel

Golden Member

Even off topic:Is dit met een Remeha ketel ook mogelijk?
De installateur en de fabrikant geven geen info daarover..
Wie kan me dit vertellen? alvast bedankt.

u=ir betekent niet :U bent ingenieur..

Remeha interface:
http://blog.hekkers.net/2011/03/14/remeha-interface-revisited/
Al heb ik mijn bedenkingen bij de 5V aansluiting, de ketel levert volgens mij 5V, dus die moet je niet uit de kabel aansluiten lijkt mij dan?
En let op, er zijn er schijnbaar ook met RS232 signalen:
http://blog.hekkers.net/2011/03/14/remeha-interface-revisite...mment-2006

Software:
https://www.remeha.nl/professional/tools/recom-software.htm

info over protocol:
http://blog.hekkers.net/2010/10/03/monitoring-the-remeha-calenta/
https://www.domoticaforum.eu/viewtopic.php?f=17&t=5595

Kort antwoord, ja is zeker mogelijk!

[Bericht gewijzigd door DutchEngineer op 9 januari 2017 11:07:35 (29%)]

mel

Golden Member

u=ir betekent niet :U bent ingenieur..

Ik heb een nieuwe versie van de Intergas monitor gemaakt op basis van Homie 2.0 (een aanrader voor esp8266 firmware):
https://github.com/keesma/Intergas-Central-Heating-Monitor-Homie/blob/master/README.md

De firmware werkt nu veel sneller (met name de communicatie tussen esp8266 en MQTT broker is factoren sneller geworden) en is de code is meer dan 100 regels korter geworden.

Ik ga hem proberen, heb hier een HR28 die via die opentherm gateway niet genoeg laat zien... Ben benieuwd ! Heeft iemand de output van de esp al in Domoticz draaien ?

Even een domme vraag misschien... maar als ik de ESP alleen programmeer, via de web interface instel en reboot en laat hem naar mosqito zenden, zou ik dan al wat moeten zien..

Zie nu namelijk niks, het blauw ledje knippert zo nu en dan 3..10 seconden.
Ik had verwacht dat alle items als een IDX in Domoticz log zichtbaar zouden zijn maar daar lijkt het nog niet op..

je kan met een smartphone app, bijv. MyMQQT zien wat er binnenkomt op mosquitto. Er zijn ook addons voor Chrome die ongeveer hetzelfde doen.
Je zou dan in elk geval de berichten voorbij moeten zien die homie genereert.
Ik heb de laatste tijd nog wat kleine foutjes hersteld in de intergas monitor (via homie-ota even opnieuw flashen).

Fijn dat er hier alles te vinden over de communicatie met deze ketel.

Ik heb een script in Python geschreven. Omdat ik nogal wat moeite had om de juiste hex-waarde eruit te krijgen, is hier het stukje code.

Het loopt op Jessie Lite met Python 3.4.2 en seriële port op ttyAMA0 (Tx, Rx, Ground op pin 8,10,6 en bluetooth op ttyS0). 30 min aan data wordt opgeslagen in csv, als de tapwatervraag boven de 59 graden komt.

Is iemand bekend wat de 5 temperaturen zijn en wat 'opentherm' is?

code:


import serial
import time
import codecs
import csv

csvloc="/home/pi/intergas/raw"
Ts0=59 #start logging at 59 deg
f0 = 1.5#desired approximate data rate
td0=0.02 #read delay
tdw=1.03 #overhead delay of script, empirically
td1=max(1/f0-td0-tdw,0.0) #cycle delay
f0=1/(td0+tdw+td1)
n=int(30*60*f0)#~30 min at data rate
#print(f0)
#print(n)
def gd(msb,lsb):
        if msb>127:
                r=-(((msb ^ 255) + 1) * 256 - lsb) *.01
        else:
                r=(msb * 256 + lsb)*.01
        return r

ser=serial.Serial('/dev/ttyAMA0',9600,8,'N',1,1,False,False,False)
n_hex=32#number of hex values to expect
logg=False#logging active or not

#loop
while True:
        ser.write(bytes([83,63,13]))
        time.sleep(td0)
        data_uart=ser.read(500)
        data_hex= codecs.encode(data_uart, 'hex_codec')
        if len(data_hex)!=2*n_hex:
                print('incorrect data received')
                print(data_uart)
                print(data_hex)
                break;
        e=[]
        for j in range(n_hex):
                e.append(int(data_hex [2*j:2*j+2],16))
        #print(e)
        Ts=gd(e[15],e[14])
        if logg:
                lt.append(round(time.time(),3))
                lT1.append(gd(e[1],e[0]))
                lT2.append(gd(e[5],e[4]))
                lT3.append(gd(e[7],e[6]))
                lT4.append(gd(e[9],e[8]))
                lT5.append(gd(e[11],e[10]))
                lTf.append(gd(e[3],e[2]))
                lTs.append(Ts)
                lFrpm.append(gd(e[19],e[18])*100)
                lFset.append(gd(e[17],e[16])*100)
                lFpwm.append(gd(e[21],e[20])*10)
                lP.append(gd(e[13],e[12]))
                lHio.append(gd(e[23],e[22]))
                lHot.append(e[26])
                if e[27]==128:
                        lCs.append(256+e[29]),lCf.append(e[29])
                else:
                        lCs.append(e[24])
                        lCf.append(0)
                i+=1
                if i>=n:
                        logg=False
                        with open(csvfile, "a") as output:
                                writer = csv.writer(output, delimiter=";", lineterminator='\n')
                                writer.writerow(lt)
                                writer.writerow(lT1)
                                writer.writerow(lT2)
                                writer.writerow(lT3)
                                writer.writerow(lTs)
                                writer.writerow(lP)
                                writer.writerow(lCs)
                        #break
        elif Ts>Ts0:
                logg=True
                csvfile=csvloc+str(int(time.time()))+".csv"
                i=0
                lt=[]#time stamp
                lT1=[]#temp 1 to 5
                lT2=[]
                lT3=[]
                lT4=[]
                lT5=[]
                lTf=[]#flow
                lTs=[]#set point
                lFrpm=[]#fan speed
                lFset=[]#fan speed setpoint
                lFpwm=[]#fan pwm
                lP=[]#pressure
                lHio=[]#ionization current
                lHot=[]#open therm
                lCs=[]#status code
                lCf=[]#fault code

        time.sleep(td1)

ser.close()

Op 1 juni 2017 19:32:32 schreef Alexm:
Is iemand bekend wat de 5 temperaturen zijn en wat 'opentherm' is?

code:


  t1 = getFloat(d[1],d[0]) # Rookgassensor (?)
  t2 = getFloat(d[3],d[2]) # Aanvoersensor S1
  t3 = getFloat(d[5],d[4]) # Retoursensor S2
  t4 = getFloat(d[7],d[6]) # Warmwatersensor S3
  t5 = getFloat(d[9],d[8]) # Boilersensor S4
  t6 = getFloat(d[11],d[10]) # buitenvoeler (?)

Zie ook: https://github.com/rickvanderzwet/IntergasBoilerReader/blob/...ige_cw6.py

Ik ben nog steeds aan stoeien om flags te vertalen naar hun betekenis. De fanspeed in combinatie met de instellingen van de CV lijken een indicatie te geven van het huidige modulatie niveau van de ketel. dwk = driewegklep.

Normale CV flow:

Normale heet water vraag (2x) flow:

Ik loop echter vast op 'alarm_status', welke voor mij relevant is omdat de ketel op sommige momenten aan-uit-aan-uit gedrag vertoond zoals in onderstaande plaatje te zien is. Mijn abnormale CV situaties:

Iemand de parameters volledig kunnen vertalen naar hun betekenis?

Even snel kijken, jouw rookgas temperatuur is veel hoger dan je aanvoer temp.
Dit is opzich vreemd, je zou verwachten dat deze gelijk zijn.

Aan de ander kant... ik dacht dat de intergas zijn rookgas temperatuur niet meet. En kijken naar jouw plaatje verwacht ik dat het de aanvoer temperatuur moet zijn (T1).

Dan zou alles ook in 1 keer duidelijk kunnen worden, de ketel kan zijn warmte niet kwijt, (vandaar fout 1) en slaat uit.

Op welke temperatuur staat je CV geknepen ? kijken naar het plaatje zou dit dan 50 of 60 graden moeten zijn (intergas heeft vaak wat overshoot).

Om te proberen of dit het is zou je de max CV temperatuur kunnen verhogen.

Mijn ketel (Intergas prestige cw6) heeft vergelijkbaar gedrag.
Als de warmtevraag laag is gaat deze ook kort na elkaar aan en uit schakelen. Ik dacht dat ik het minimum vermogen van de ketel had teruggeschroefd maar dat hielp niet. Ik gebruik de ketel in combinatie met een Honeywell wireless opentherm thermostaat.

@Rick: heb jij nog iets kunnen vinden?

PE9SMS

Special Member

Dat gedrag is normaal. Dat is de low-load regelmode van die Honeywell thermostaten. Ik tel in de grafieken de 6 schakelingen per uur die Honeywell daarvoor gebruikt. Dat vind je dacht ik wel terug in de installatiehandleiding van je thermostaat.

Zie het als dat er zo weinig warmte nodig is om je huis op temperatuur te houden dat zelfs in de laagste stand van de ketel er (bij continu draaien) teveel warmte je huis in komt. En de temperatuur dus zou doorschieten. D.m.v. dit aan/uit achtige gedrag wordt dat opgelost.

This signature is intentionally left blank.

Ik probeer de Intergas HR 28/24 uit te lezen, maar PuTTY op Ubuntu, ingesteld op 9600-8-N-1, toont geen enkel teken van leven, doe ik iets fout?

Ik heb zo'n FTDI232R serial bordje met daarop een 4 pins ATX processor-connector op gesoldeerd.

Jumper staat op 3.3V

http://i64.tinypic.com/14xlyd3.jpg

Het is best raar dat om 1 of andere reden de RXD en TXD pins ook 3.3V meten, is dit normaal?

mel

Golden Member

RS 232 is +- 12 volt.En geen 3,3 volt.

u=ir betekent niet :U bent ingenieur..

Op 19 april 2018 16:21:18 schreef mel:
RS 232 is +- 12 volt.En geen 3,3 volt.

Welke standaard wordt hier dan gebruikt en welk bordje heb ik daarvoor nodig? En wat zijn de verbindingsparameters?

PE9SMS

Special Member

Als je het topic even terugleest vind je het antwoord.

This signature is intentionally left blank.

Vandaag communicatie gemaakt met de ketel.
PL2303 kabel bij Ali besteld.
Drivers geïnstalleerd.
Bedrading aan een oude pc connector gesoldeerd, zoals in bijgevoegde foto.
Functioneerde gelijk.

Nu proberen of het via bleutooth ook draadloos wil.

[Bericht gewijzigd door knutsel10 op 16 mei 2018 21:45:04 (12%)]

Allereerst: fantastisch dat er inmiddels zo veel informatie is over het direct interfacen met de Intergas ketels via de X5 connector! Toen ik in 2014 mijn ketel kocht was het protocol niet duidelijk; ik heb nu een paar jaar de officiele IDS software gebruikt, maar was nooit toegekomen aan het zelf uitpluizen van het protocol. Dank aan allen die hier hun ervaring hebben gedeeld.

Ik heb net een kort testje gedaan met het Python-programma "IntergasBoilerReader". Met wat verder graven zie ik echter dat de ketel nog veel meer data kan aanleveren: dingen als hardware- en softwareversie, aantal bedrijfsuren, branderparameters, etc.

Mochten anderen ook geinteresseerd zijn: ik ben van plan om de extra opties binnenkort verder uit te werken, en als het werkende en leesbare code oplevert dan zet ik dat wel op Github.