Gebwell Aries ja ModbusTCP ohjaus HomeAssistantilla

  • Viestiketjun aloittaja Viestiketjun aloittaja T76
  • Aloituspäivämäärä Aloituspäivämäärä
Mitä meinaat tehdä lähiverkossa sille? Siinähän on semmoinen Siemens Climatix IC -ohjain, jonka webbikäyttöliittymää tarjoilee osoitteestaan.
Onko nyt ajan kanssa ilmennyt jotain robleemii kun tuuppasit tuon kotiverkkoon ilman modeemia, äppi toimii niinkuin tarkoitettu ja myös tuo webHMI toimii lisänä paikallisesti?
Onko modbustcp nyt jossain hyötykäytössä?
 
Jos taas haluat Modbus TCP:n päälle, se tapahtuu juuri sillä OEM-tunnuksella tai sitten oikeammin tekemällä Gebwellille tiketin, avaavat sen sitten.
Perustunnareilla pääsee säätämään webbiliittymällä hieman monimutkaisemmin asioita kuin sovelluksella, mutta eipä ole Gebwellin pilvestä riippuvainen. Tunnus ei ole sama kuin sovellukseen.

Tarkoitus on juurikin laittaa ModbusTCP päälle ja saada jotain dataa sitä kautta ulos. Parasta olisi, jos sen saisi jotenkin Influxiin, joka jo kerää lämpötila- ja kosteustietoja eripuolilta taloa, ja näyttää niitä Grafanassa.

Aries on ollut kytkettynä lähiverkkoon siitä saakka, kun Gebwell alkoi pyytää rahaa moodemin uusimisesta. Pumppu on ollut käytössä alle kolme vuotta ja kerroin jo ostovaiheessa, ettei siihen kannata laittaa modeemia, joka toimii vain 3G-verkoissa. Näköjään halusivat vain myydä varastot tyhjiksi EOL-laitteista ja sitten rahastaa uusilla.
 
Nyt on HomeAssistanttia jumppailtu sen verran, että saan tuolla node-REDillä melkoisen hyvin dataa ulos, ja myös sisään asetusta. Ainoa huono puoli on, että mikään haalittu dokumentaatio ei ihan pidä paikkaansa, esimerkiksi huonelämpötilaa en pumpusta ole saanut. Mutta luen sen yläkerrasta toiselta mittarilta, siellä se on muutenkin todenmukaisempi. Termostaatin säätö ohjaa pumpun tavoitelämpötilaa.

Tähän vielä jos tuohon mooditekstiin saisi vaikka LKV/Lämmitys -tekstin, ja tuon yhteyteen käyttöveden säädöt tai ainakin normaali/mukavuustilan valinnan, niin alkaa olemaan riittävä säätö kasassa.

Hommasin myös nuo pörssisähkökortit, tähän voinee sitten kohtuuvaivalla säätää lisäpyynnin halvoille tunneille, lämmitykseen ja käyttöveteen.

Samoin HA:lla saa ilmeisen kätevästi tehtyä kalenteroinnit lämmöille ja käyttövedelle.
Thx T76 for all the hints.
I was fighting with access to modbus and here I received everything from my Aries12.
So far I extracted few counters to Home Assistant.
Trick with nodered is very useful.

WhatsApp Image 2024-03-10 at 20.41.16.jpeg

WhatsApp Image 2024-03-10 at 19.08.57.jpeg
 
Tarkoitus on juurikin laittaa ModbusTCP päälle ja saada jotain dataa sitä kautta ulos. Parasta olisi, jos sen saisi jotenkin Influxiin, joka jo kerää lämpötila- ja kosteustietoja eripuolilta taloa, ja näyttää niitä Grafanassa.

Aries on ollut kytkettynä lähiverkkoon siitä saakka, kun Gebwell alkoi pyytää rahaa moodemin uusimisesta. Pumppu on ollut käytössä alle kolme vuotta ja kerroin jo ostovaiheessa, ettei siihen kannata laittaa modeemia, joka toimii vain 3G-verkoissa. Näköjään halusivat vain myydä varastot tyhjiksi EOL-laitteista ja sitten rahastaa uusilla.
Itse tosiaan laioin modbustcp alunperin päälle ylläpitoliittymällä. Sittemmin Gebwell ajoi jonkin päivityksen, joka poisti OEM-tunnarit käytöstä sekä modbustcp:n. Huoltotiketillä avasivat yhteyden uusiksi.
 
Onko nyt ajan kanssa ilmennyt jotain robleemii kun tuuppasit tuon kotiverkkoon ilman modeemia, äppi toimii niinkuin tarkoitettu ja myös tuo webHMI toimii lisänä paikallisesti?
Onko modbustcp nyt jossain hyötykäytössä?
Se WebHMI:han toimii paikallisesti myös pumpun omalla Wifillä, jos on se modeemi siinä. Liittyy koneella ko. verkkoon ja sieltä löytyy, kun tietää osoitteen (oletus-IP climatixille).

Lähiverkon kautta toki paremmin. Ja tosiaan mitään ongelmaa ei ole ollut, ei modbusTCP:n kanssa eikä gebwellin pilvisovelluksen. Ja Gebwell itsekin pääsee laitteeseen kiinni ihan normaalisti.

ModbusTCP on hyötykäytössä Homeassistantin kanssa. Olen tehnyt käyttöveden ajastukset tuolla, en käytä gebwellin sovellusta siihen. Samoin kompensoin lämpötilapyyntiä ennustetun ulkolämpötilan mukaan. Pystyn hyödyntämään aurinkosähköä myös käyttöveden tekoon, jos sitä on saatavilla yms. Pörssisähköoptimointi toimisi myös tuolla, jos olisi pörssisähkö käytössä.
 
Se WebHMI:han toimii paikallisesti myös pumpun omalla Wifillä, jos on se modeemi siinä. Liittyy koneella ko. verkkoon ja sieltä löytyy, kun tietää osoitteen (oletus-IP climatixille).

Lähiverkon kautta toki paremmin. Ja tosiaan mitään ongelmaa ei ole ollut, ei modbusTCP:n kanssa eikä gebwellin pilvisovelluksen. Ja Gebwell itsekin pääsee laitteeseen kiinni ihan normaalisti.

ModbusTCP on hyötykäytössä Homeassistantin kanssa. Olen tehnyt käyttöveden ajastukset tuolla, en käytä gebwellin sovellusta siihen. Samoin kompensoin lämpötilapyyntiä ennustetun ulkolämpötilan mukaan. Pystyn hyödyntämään aurinkosähköä myös käyttöveden tekoon, jos sitä on saatavilla yms. Pörssisähköoptimointi toimisi myös tuolla, jos olisi pörssisähkö käytössä.
Nii juu, tuo origi modeemi tarjosi myös sen paikallisen wifin...

Kuulostaa hyvinkin antavan hallintamahdollisuudet omille tarpeille.

Mitens muuten noiden asetusten kanssa mitä teet, minkälaisella muistilla ovat, meinaan vaan jottei tulisi max. kirjoittelumäärät vastaan?
 
Nii juu, tuo origi modeemi tarjosi myös sen paikallisen wifin...

Kuulostaa hyvinkin antavan hallintamahdollisuudet omille tarpeille.

Mitens muuten noiden asetusten kanssa mitä teet, minkälaisella muistilla ovat, meinaan vaan jottei tulisi max. kirjoittelumäärät vastaan?
Siitä en tiedä, mutta ei sinne varmaan tosiaan kannata sekunnin välein mitään säätöjä kirjoitella. Nuo vesiajastukset esim menevät ihan vastaavalla syklillä, kuin mitä gebwellin pilven kautta menisi - eikä ennustekompensaatiokaan kannata tehdä kovin usein. Lisäksi Node-RED:ssa on filtteri päällä, joka estää saman asetuksen lähettämisen moneen kertaan.
 
Kaipaan apua tarkempien energiankulutustietojen lukemiseen. Tällä hetkellä pystyn lukemaan rekisteriä, jolla on täydellinen tarkkuus. Se on 106, se tallentaa kokonaisvirrankulutuksen. Dokumentaation mukaan nämä tiedot tallennetaan 32-bittisinä eli 2 rekisterinä. Valitettavasti seuraavassa rekisterissä, eli 107, ei näy koskaan mitään. Jopa kahden rekisterin liimauksen jälkeen unint32 (l3) + tavunvaihto. Minulla on edelleen kokonaisluku ilman desimaalipistettä.
 
Kaipaan apua tarkempien energiankulutustietojen lukemiseen. Tällä hetkellä pystyn lukemaan rekisteriä, jolla on täydellinen tarkkuus. Se on 106, se tallentaa kokonaisvirrankulutuksen. Dokumentaation mukaan nämä tiedot tallennetaan 32-bittisinä eli 2 rekisterinä. Valitettavasti seuraavassa rekisterissä, eli 107, ei näy koskaan mitään. Jopa kahden rekisterin liimauksen jälkeen unint32 (l3) + tavunvaihto. Minulla on edelleen kokonaisluku ilman desimaalipistettä.
Eikös noi int16 lukuja yleensä ole mitä siirretään, ei floatteja! Vai kuinka tuo on dokumentoitu?
Tavusiirto ei liene oikea, wordsiirto ehkä...

Mikä laatu niillä on, [Wh] tjms?
 
Oikea arvo on 9665,5.
Rekisterissä 106 minulla on 9665 ja teoriassa 0.5 pitäisi olla rekisterissä 107, mutta tämä on tyhjä.
Itse 9665 on tavoitettavissa kuten int16 ilman "byte swap".
 
Viimeksi muokattu:
Oikea arvo on 9665,5.
Rekisterissä 106 minulla on 9665 ja teoriassa 5 pitäisi olla rekisterissä 107, mutta tämä on tyhjä.
Itse 9665 on tavoitettavissa kuten int16 ilman "byte swap".
Eikös tuo mene ihan oikein 9665 on kokonaiset kWh:t ja systeemi ei taida pyöristellä eikä siten huomioi 0.5kWh lukemaa.

Kerroin arvoille taulukossa lienee 1?

Miksi 107: ssa pitäis olla 5?
 
Oikea. Järjestelmä ei pyöristä, se vain pitää kokonaisluvun arvon rekisterissä 106. Tässä tapauksessa 9665. Mielestäni pilkkuarvo tulee tallentaa 107:ään, esim. .5, mutta kokonaisluvun muodossa. Meillä on siis 16bit 106:ssa ja 16 bit 107:ssä. Ohjeiden mukaan sinun tulee muodostaa yhteys unint32le muotoon ja suorittaa tavuvaihto. Tämä tarkoittaa, että luku on 96655. Suorita tälle arvolle operaatio scale=0.1, mikä johtaa desimaalipilkun siirtämiseen ja siten 9665.5.
Teorisoin, koska en huomannut mitään dataa 107.
Lisään menetelmän tilapäisten lukemien tallentamiseksi tähän soluun ja katson, muuttuuko se pidemmän ajan kuluessa.
 
Ehkä tulkitsen väärin. Nämä 32 bittiä pystyvät tallentamaan arvon, joka on suurempi kuin 32767, joka on suurin arvo. Se olisi järkevää.
Mutta mihin pisteen jälkeinen arvo on tallennettu? Android-sovelluksessa tämä näkyy.
 
Ehkä tulkitsen väärin. Nämä 32 bittiä pystyvät tallentamaan arvon, joka on suurempi kuin 32767, joka on suurin arvo. Se olisi järkevää.
Mutta mihin pisteen jälkeinen arvo on tallennettu? Android-sovelluksessa tämä näkyy.
Siksi tuo on 32bit kun ei lukemat muuten riitä.

Ei sitä pilkun jälkeistä ole missään modbusTcp: ssä (oma tulkinta), android sovellus saa datansa pilvestä ei siis modbustcp:stä.
 
Tietenkin on mahdollista saada liukuluku 16-bittiseen rekisteriin. Tätä tarkoitusta varten käytetään jakajaa. Näin lämpötila-arvojen siirto ratkaistaan.
En ole samaa mieltä siitä, että Androidissa on enemmän kuin Android-sovelluksessa. Ja miten pilvi vastaanottaa dataa? Samasta lähteestä, kuljettajalta. Tietojen lukutapa on ratkaisevaa, ei sen visualisointi. Olen 100% varma, että tämä pilkku on jossain, mutta sitä ei ole dokumentaatiossa. Esimerkki lämpötilasta desimaalipilkulla

1710362588795.png
 
En usko että missään vehkeessä on 16-bittistä AD-muunninta sitä lukemaa tekemässä. Ja jos onkin, niin kyllä se luku siltä tulee binäärisenä, ei siellä mitään pilkkuja ole.

Jos tuo 32767 on skaalattu vaikka väliin -100C - +100C niin jokainen bitti on 6 tuhannesosa-astetta- kyllä se 16 bittiä riittää vaikka mihin.
Veikkaan että noissa on 10 tai 12-bittiset muuntimet. 10-bittiselläkin bitti olisi 0,2 astetta 200 asteen haitarilla. Jonkun vaan pitää tietää mitä ne bitit tarkoittavat lämpötiloissa.
 
AD muuntimilla ja lämpötiloilla ei tässä ole mitään tekemistä tämän kWh lukeman kanssa, ne on sitten oma tarinansa, niissä yleensä lähetetään int16 ja rekisteritaulukossa kerrotaan jakaja tai kerroin 10 tai 0.1 tjms.

Ei siellä kwh lukemassa mitään pilkkua ole, sitä nämä kerrotut tarinat tukevat.
 
Rekisteri lämpötilalle ja kWh:lle on sama, eli int16. Erona on, että kWh tallennetaan kahteen peräkkäiseen rekisteriin käyttämällä 'count' int32 saamiseksi.
En vieläkään tiedä, missä kWh:n liukulukutiedot ovat. Dokumentaatio ei kerro mitään.
 
Vielä yksi mielenkiintoinen fakta. Näen, että tämä dokumentaatio ei sisällä rekisteriä 111, joka näyttää nykyisen energiankulutuksen kW:na. Kun luen tätä rekisteriä, se on enimmäkseen nolla, mutta joskus -1 tulee näkyviin. Ei mitään muuta. On vaikea tulkita, miten se on koodattu.
 
'Hetkellinen teho' varmaankin pitäis olla tuo 111 nimeltään, olisko bugi jos -1 näyttää...
Mitäs sovellus, näyttääkö se hetkellisen tehon?
1710435016086.png
 
Mikä pumppu? Itse luen energiatiedot Aries 6:sta seuraavasti node-RED:lla, muun datan yhteydessä. Eli luen pätkän ja parsin bufferista oikeat arvot sitten. Viimeinen arvo on se hetkellinen kulutus, pitää jakaa 10:llä, jotta tulee oikea luku.
1710485844695.png

1710485865788.png
 
Konfiguroin sen niin kuin sinulla on. Kun asetukseksi on asetettu "msg.payload.data", se luo virheen "parser". Kun se on asetettu arvoon "msg.payload", minulla on samat tiedot kuin ennenkin, jossa nykyinen arvo tallentaa 0 tai -0.1 (jaettuna 10:llä).
1710502103593.png


1710502153169.png
 
Mitä on tuossa modbus reader nodessa säädettynä? Ja noista noden lähdöistä tulee erilaista dataa - bufferi tulee alemmasta, kuten kuvassa.
1710569794199.png
 
Vedä tuon vasemman laatikon viiva siitä alemmasta oikean reunan pallukasta buffer parseriin. nyt on ylemmässä, tulee eri tavaraa ulos. Voit koittaa vaikka debug nodella, mitä tulee.
 
Mikään ei muuttunut, paitsi että voin lukea mesg.data. Yleisesti ottaen nykyinen kW:n kulutus ei näy taulukon 7 kentässä, joten edes jäsentämisen jälkeen ei ole mitään. Tällä hetkellä hetkellinen kulutus sovelluksessa on 0,6. Minulla ei ole modbus-tietoja.

Voitko näyttää virheenkorjauksen debug?

1710847084282.png
 
Mistä osoitteesta lähtien luet modbusia? Minulla näyttää tuolta, kun kulutus 0,4kW. Eli hetkellinen kulutus on tuossa offset 20, eli taulukon kohta 10.

1710855268090.png
 
Juuri niin kuin kirjoitat. 10:ssä minulla pitäisi olla tilapäistä kulutusta, mutta siellä näkyy vain 0 tai ffff.
1710862032378.png

1710862071684.png


Mitä se tarkoittaa miltä puolelta?

1710862208839.png
 
Pyydän sinua olemaan hieman tarkempi, koska kääntämisen jälkeen en tiedä mistä kysyt.
Like you saw in my earlier picture, I have these settings on the Modbus reader node. So it reads 11 input registers starting from 100, and the current consumption kW is in offset 20. How have you configured the reader node?
 
Exactly the same. Identically. It's not an issue of parser but data that are kept in register 111.
In your case you are extracting 4 (example above) before scaling factor. I can capture only two states 0 and ffff (65535).
 
Takaisin
Ylös Bottom