Hoe kan ik interfacen met Wifi van Toros Vision warmtepomp

Pagina: 1 2 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 23-06 13:49
Zo te zien gewoon een Seriële verbinding, CVBC protocol zal wel een of andere HVAC standaard zijn. 19200N8 klinkt ook niet gek.

Als we naar die kabel kijken zien we 6 aders, daar zal ongetwijfeld op z'n minst 4 van nodig zijn als het puur serieel + voeding is, en die andere twee kunnen NC zijn maar het kan ook zijn dat het RSS485 is en dat je dus 4 draadjes nodig hebt voor je RX en TX paren.

Dat bordje lijkt een PIC32 te hebben en een standaard WiFi module (ook Microchip), gezien er een SD-footprint is en de rest vooral wat lokale DC-DC en buffering lijkt te zijn is het aannemelijk dat de PIC32 communiceert met de controller van de pomp en met de WiFi module.

Onder aan de streep denk ik dat je er meer aan hebt om te kijken waar de andere kant van die kabel uit komt. Of je dan daarna deze module kan hergebruiken is een ander verhaal, dan zou je de instellingen en de software van dat ding moeten controleren. Het kan ook zijn dat die DIP switches de toegangscontrole doen, of dat de header onder die PIC een programmeer header is, en da die 2-pin jumper naast de WiFi module bootloader mode is, maar de vraag is of dat allemaal uitmaakt als je geen instellingen kan wijzigen op dat bord en de instellingen in plaats daar van op de controller zitten waar die kabel naartoe gaat.

Ik zou zelf eerder kijken naar de controller zelf en deze module even negeren, die doet op z'n best toch alleen maar 'vertaling'.

Acties:
  • +2 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
Leuk projectje. Ben zelf ook nog met zoiets bezig met m'n zonnepanelen omvormer. Wellicht staan daar nog tips in, al ligt de focus daar meer op de encryptie die gebruikt wordt in de datapakketten. Helaas ben ik/we nog niet verder gekomen.

Ik zou beginnen met nmap draaien. Eerst gewoon even de snelle standaardscan en daarna wellicht nog de uitgebreide: ThinkPadd in "TCP data ontcijferen Goodwe zonnepanelen omvormer". Vanuit Windows is nmap lastig, je zou bijv. Kali Linux even op een USB-stickje kunnen zetten. Laptop daar van booten en dan connecten met het AP van de module. Of Raspberry Pi met wifi laten connecten en daar nmap draaien.

Verder eens met hierboven, het is mogelijk makkelijker om met een ESP o.i.d. de boel te interfacen.
Even kijken of je de pinout van dat kabeltje kunt achterhalen. Eerst de GND en Vcc uitpiepen met multimeter, dan kun je die al wegstrepen als mogelijke datapins.

Wat is het precieze typenummer van de warmtepomp trouwens? En heb je misschien een foto van de PCB waar de andere kant van die kabel op inprikt? Heb deze handleiding gevonden maar weet niet of het relevant is voor jouw warmtepomp.

[ Voor 29% gewijzigd door ThinkPad op 19-03-2021 19:06 ]


Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
Bedankt allen voor het meedenken!!

@johnkeates
Zo te zien gewoon een Seriële verbinding, CVBC protocol zal wel een of andere HVAC standaard zijn. 19200N8 klinkt ook niet gek.
Dat idee kreeg ik ook ja. Alleen zei "CVBC" mij niet veel. Zou ook willen proberen gewoon een serial monitor te starten als ik een kabeltje zou hebben.
Dank ook voor je analyze van de PCB.

@ThinkPad
Ik zal nmap eens draaien. Ik kom later terug met bevindingen!

Ik begrijp van jullie beiden het punt dat het wellicht makkelijker is direct met het bord te interfacen. Ben alleen wat terughoudend om daar iets te gaan toevoegen omdat ik de pomp zvm wil laten as-is. Als er weer een servicemonteur aan de deur staat, hoef ik niet halsoverkop het apparaat weer uit elkaar te schroeven om m'n proprietary hardware eruit te halen...

Ik heb m'n huidige bevinding ook samengevat in onderstaande:
Afbeeldingslocatie: https://tweakers.net/i/cgnlKYSwkiSBM5Vs3GN78dYXX1k=/800x/filters:strip_icc():strip_exif()/f/image/1H8NWA0U8jyONgnGpaR8Ui56.jpg?f=fotoalbum_large
  • Zowel een servicelaptop, als de wifi module worden allebei op "X8" van het moederbord PCB verbonden. Als je laptop wil gebruiken, moet wifi module connector er dus uit.
  • Heb de datasheet gevonden van het moederbord PCB. Maar daar staat alleen dat X8 "Microcom" is. Als ik daar op Google, kom ik alleen een old-school protocol tegen uit de 80s en 90s[\li]

[ Voor 31% gewijzigd door Snoeikoe op 19-03-2021 19:12 . Reden: X8 is exclusive ]


Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
Snoeikoe schreef op vrijdag 19 maart 2021 @ 09:06:
[...]
Iets anders wat me overigens ook niet zint, is dat de AP gewoon open is. Iedere client kan ermee verbinden. Wat als er iemand hier in de buurt woont die nog meer tech-savvy is en vervolgens een vulnerability vindt door commando's te sturen waardoor die warmtepomp over de zeik raakt? Overigens heeft de hele wijk deze pomp, dus ik vind ongeveer 10 - 15 van zulke "Wifi-Remo-xx-xx-..." APs.

[...]
Je kan het kabeltje naar de wifi-antenne even loswippen, dan zal het van buiten je huis al vrij moeilijk zijn om het netwerk nog op te pikken denk ik.

Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
@ThinkPad
Wat is het precieze typenummer van de warmtepomp trouwens? En heb je misschien een foto van de PCB waar de andere kant van die kabel op inprikt? Heb deze handleiding gevonden maar weet niet of het relevant is voor jouw warmtepomp.
Die handleiding is exact het model. Dat is ook precies het document dat ik gebruik. Goed gevonden!

[ Voor 1% gewijzigd door Snoeikoe op 19-03-2021 19:15 . Reden: Tag toevoegen ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
De 'Toros Vision' dus, handig voor de zoekmachines ;) Techneco heeft ook de 'Elga' warmtepomp. Ik meen dat er een topic is hier op Tweakers over iemand die een tooltje had gemaakt waarmee hij in het servicemenu kon komen. Wellicht dat dat aanknopingspunten geeft voor jouw situatie. Kan dat topic alleen niet weer vinden... :-(
Volgens mij heeft/had @mkleinman een Elga warmtepomp, wellicht heeft hij nog ideeën.

In de handleiding staat ook RS485/Modbus genoemd. Heb je al eens gemaild met Techneco/Remeha met verzoek om documentatie? Modbus zou redelijk eenvoudig werkend moeten zijn te krijgen van wat ik op Tweakers zie qua omvormers/energiemeters.

[ Voor 19% gewijzigd door ThinkPad op 19-03-2021 19:48 ]


Acties:
  • +1 Henk 'm!

  • mkleinman
  • Registratie: Oktober 2001
  • Laatst online: 14:32

mkleinman

8kWp, WPB, ELGA 6

ThinkPadd schreef op vrijdag 19 maart 2021 @ 18:55:
Leuk projectje. Ben zelf ook nog met zoiets bezig met m'n zonnepanelen omvormer. Wellicht staan daar nog tips in, al ligt de focus daar meer op de encryptie die gebruikt wordt in de datapakketten. Helaas ben ik/we nog niet verder gekomen.

Ik zou beginnen met nmap draaien. Eerst gewoon even de snelle standaardscan en daarna wellicht nog de uitgebreide: ThinkPadd in "TCP data ontcijferen Goodwe zonnepanelen omvormer". Vanuit Windows is nmap lastig, je zou bijv. Kali Linux even op een USB-stickje kunnen zetten. Laptop daar van booten en dan connecten met het AP van de module. Of Raspberry Pi met wifi laten connecten en daar nmap draaien.

Verder eens met hierboven, het is mogelijk makkelijker om met een ESP o.i.d. de boel te interfacen.
Even kijken of je de pinout van dat kabeltje kunt achterhalen. Eerst de GND en Vcc uitpiepen met multimeter, dan kun je die al wegstrepen als mogelijke datapins.

Wat is het precieze typenummer van de warmtepomp trouwens? En heb je misschien een foto van de PCB waar de andere kant van die kabel op inprikt? Heb deze handleiding gevonden maar weet niet of het relevant is voor jouw warmtepomp.
Er is ook een nmap client beschikbaar voor Windows, die gebruik ik met enige regelmaat :)

Ik heb inderdaad een Remeha ELGA ACE warmtepomp hangen. Die kan ik via bluetooth uitlezen via een Remeha app op mijn telefoon. De hele ACE serie van Remeha heeft een vergelijkbare interface, die is denk ik heel anders dan de oude Techneco interface.

Kan je niet misschien een kopie krijgen van de software die wordt gebruikt en dan kijken naar de pinout van die kabel die op die X8 poort wordt aangesloten?

Want de juiste kabel en pinout is 1. Daarna moet je nog het protocol weten wat er over die bus wordt gebabbeld.

[ Voor 14% gewijzigd door mkleinman op 19-03-2021 20:37 ]

Duurzame nerd. Veel comfort en weinig verbruiken. Zuinig aan doen voor de toekomst.


Acties:
  • +1 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 23-06 13:49
De 'standaard' die ze gebruiken voor in elk geval een van de communicatie/beheer interfaces is ook hier in gebruik lijkt het: https://www.abar.it/wp-co.../07/ESYS-S4965-SERIES.pdf

Combined Valve Boiler Control? (CVBC) over MicroCom. Zou me niks verbazen als het een soort van homemade differentieel seriële interface is. De pinout is in elk geval standaard:
  1. Vdc
  2. Rx
  3. In/Out
  4. Common / GND
  5. Tx
  6. In/Out
De Rx en Tx lijnen lijken gewoon RS232 serieel te zijn (staat iets van 24V bij!), de In/Out zijn misschien non-standaard? Of een of andere DTR/CTS achtige constructie? Zou voor differentieel soort serieel verkeer niet logisch zijn om die extra lijnen bi-directioneel In/Out te noemen, misschien dat het dus niet diff. is :+

CVBC lijkt ook gebruikt te worden om generieke warmtepomp controllers aan te duiden, waarbij er dan 'interfaces' zijn die dan geschikt zijn voor die 'standaard'. Misschien dat het dan niet zo heel standaard is als je zou verwachten.

Gezien de bedrading en de controllers op dat uitbreidingsbordje voor WiFi lijkt het me in elk geval niet heel gek dat je een PIC32 en een WiFi-all-in-one controller nodig hebt om aan de ene kant HTTP te praten, en aan de andere kant MicroCom te doen. Die PIC32 doet dan de real-time communicatie en zal dan wel iets aan normalisering en controle doen zodat de WiFi interface/controller de rest afhandelt. In zo'n geval is die WiFi module zelf misschien ook maar gewoon via SPI of I2C of UART met die PIC32 verbonden. Dan zou het veiliger/makkelijker zijn om op die interface te gaan zitten dan rechtstreeks op die 6-pin connector.

[ Voor 76% gewijzigd door johnkeates op 19-03-2021 21:03 ]


Acties:
  • 0 Henk 'm!

  • thehog
  • Registratie: Oktober 2000
  • Laatst online: 11:55
ThinkPadd schreef op vrijdag 19 maart 2021 @ 19:28:

In de handleiding staat ook RS485/Modbus genoemd. Heb je al eens gemaild met Techneco/Remeha met verzoek om documentatie? Modbus zou redelijk eenvoudig werkend moeten zijn te krijgen van wat ik op Tweakers zie qua omvormers/energiemeters.
Ik zou ook gewoon de X9 modbus eerst eens proberen. En kijken of je van de oude techneco mensen nog een documentatie van die modbus kan krijgen. Vroeger, toen het nog techneco was, waren ze echt behulpzaam.

Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
Wederom bedankt voor de input. Ik leer er tegelijk veel over. Hopelijk ook waardevol voor mensen die in de toekomst met de warmtepomp aan de slag willen. Hij wordt nog steeds (veel) geïnstalleerd.

Op basis van meerdere adviezen: Ik zal een bericht uitsturen naar Techneco, even kijken hoe ik dat inschiet. Ben namelijk tegelijk uit eigen domotica-hobby, als qua uitsluiten van security vulnerabilities op die open wifi, interesse bezig hiermee.

@ThinkPad , @mkleinman
Ik heb nmap (for Windows zowaar) laten draaien en alle TCP en UDP poorten laten afscannen.
Hierbij kwam er 1 duidelijk naar voren, namelijk 9760.
Tegelijk is dit de poort waarmee die Android App die ik was tegengekomen in Google Play (zie m'n originele post) probeert te verbinden. Zeker geen toeval. Zie screenshots van nmap.
  1. Eerste screenshot: Alle TCP poorten en resultaat
  2. Tweede: Specifiek op 9760 (-p 9760) en met packet-trace
Afbeeldingslocatie: https://tweakers.net/i/2_7eCQ478fZT0uXnEe4H8eiz6nA=/800x/filters:strip_icc():strip_exif()/f/image/5SNXNf4BSyAY0jsMMUwgZ8od.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/x1p4nBeU9Oe_M1N0UVaFfNRHZN0=/800x/filters:strip_icc():strip_exif()/f/image/3qxBQGeoMH5i3Dil1wD5UZp6.jpg?f=fotoalbum_large

FYI: 192.168.1.100 is het IP dat m'n client (laptop) krijgt toegewezen. Die IP-lease begint vanaf 100.

Nog tips om verder uit te pluizen wat er voor service/mogelijkheden er op die poort worden aangeboden? Argumenten in nmap? Mis hier wederom kennis.

[ Voor 47% gewijzigd door Snoeikoe op 20-03-2021 12:54 . Reden: plaatje 2 geupdate ]


Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
Ik lees hier ook een referentie naar die 9760/tcp. Als je Googled op '9760 tcp' nog wel wat meer resultaten.

Misschien kun je met telnet connecten naar die poort. Het kan dan overigens zo zijn dat je wel verbinding hebt, maar geen output krijgt. Bij sommige omvormers is dat ook het geval, je moet dan eerst een soort 'magic packet' sturen voordat hij begint met terugpraten.
Snoeikoe schreef op zaterdag 20 maart 2021 @ 12:50:
[...]
Op basis van meerdere adviezen: Ik zal een bericht uitsturen naar Techneco, even kijken hoe ik dat inschiet. Ben namelijk tegelijk uit eigen domotica-hobby, als qua uitsluiten van security vulnerabilities op die open wifi, interesse bezig hiermee.
[...]
Gewoon simpel houden: "Ik zie dat er een modbus connector aanwezig zou moeten zijn, hebben jullie hier software/documentatie voor beschikbaar zodat ik hem zelf kan uitlezen voor in m'n home automation" ?

Niet allemaal moeilijk gaan doen over het wifi protocol, security, port scans e.d., want dan gaan waarschijnlijk de hakken in het zand ;)

[ Voor 91% gewijzigd door ThinkPad op 20-03-2021 13:11 ]


Acties:
  • +1 Henk 'm!

  • RalphAM
  • Registratie: December 2021
  • Laatst online: 26-10-2023
mkleinman schreef op vrijdag 19 maart 2021 @ 20:32:
[...]
Ik heb inderdaad een Remeha ELGA ACE warmtepomp hangen. Die kan ik via bluetooth uitlezen via een Remeha app op mijn telefoon. De hele ACE serie van Remeha heeft een vergelijkbare interface, die is denk ik heel anders dan de oude Techneco interface.
Welke app is dat? De Smart Service app?

Acties:
  • +1 Henk 'm!

  • mkleinman
  • Registratie: Oktober 2001
  • Laatst online: 14:32

mkleinman

8kWp, WPB, ELGA 6

RalphAM schreef op dinsdag 21 december 2021 @ 14:11:
[...]


Welke app is dat? De Smart Service app?
Yes via de smart service app kan ik mijn ACE uitlezen, alleen hoe dat protocol werkt ben ik nog niet achter. Ik heb al een poging gewaagd om de APK van Remeha uit elkaar te halen maar daar word ik niet heel veel wijzer van jammer genoeg.

Duurzame nerd. Veel comfort en weinig verbruiken. Zuinig aan doen voor de toekomst.


Acties:
  • 0 Henk 'm!

  • RalphAM
  • Registratie: December 2021
  • Laatst online: 26-10-2023
Helaas is de "service" vanuit Remeha alleen gericht op installateurs, niet op consumenten. Verder begreep ik dat de Remeha eTwist-app vroeger uitgebreider was, maar na (kennelijk) vele consumenten vragen hebben ze deze uitgekleed, dicht getimmerd en versimpeld. Alles om dus minder moeite in consumenten te steken én te voorkomen dat consumenten in de settings van de Elga gaan zitten rommelen.

Overigens moet de Bluetooth module nog in mijn Elga gezet worden. Iets met wereldwijd chip-tekort :/

Maar als ik hier het forum lees zijn er best wel wat mensen geïnteresseerd om toch meer uit te lezen. Misschien als we een cluppie maken, al dan niet met een installateur erbij, dat we iets meer gedaan kunnen krijgen bij Remeha? Is daar interesse in?

Acties:
  • 0 Henk 'm!

  • mkleinman
  • Registratie: Oktober 2001
  • Laatst online: 14:32

mkleinman

8kWp, WPB, ELGA 6

Uiteraard! Ik vrees alleen bij Remeha dat je nul op het rekest gaat krijgen. Ook gezien de vele e-mails met vragen over de ELGA ACE in mijn mailbox.

Duurzame nerd. Veel comfort en weinig verbruiken. Zuinig aan doen voor de toekomst.


Acties:
  • 0 Henk 'm!

  • RalphAM
  • Registratie: December 2021
  • Laatst online: 26-10-2023
Niet geschoten is altijd mis :P
Nu ga ik binnenkort over naar een nieuwe job in de duurzame sector (warmtetransitie), dus wellicht dat dit iets meer gewicht mee brengt.
Hoeveel "fanmail" ontvang jij per maand? Is de strekking van de meeste mails hoe jij jouw Elga uitleest/monitort?
Als we goed kunnen verwoorden wat we willen dan kunnen we een voorstel maken.

Acties:
  • +1 Henk 'm!

  • Sikkek
  • Registratie: Maart 2004
  • Laatst online: 08:59
@Snoeikoe

Wellicht een hele late toevoeging, maar Remeha heeft de Microcom servicetool voor de Toros Vision warmtepomp op de website staan, inclusief handleiding:

Service Tool

Met een CP2102 USB naar UART bordje zou je de pomp moeten kunnen uitlezen:
https://www.reichelt.nl/n....html?&trstct=pos_2&nbc=1

[ Voor 14% gewijzigd door Sikkek op 13-10-2022 19:16 . Reden: Url fix ]


Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
@Sikkek

Goh, zo maken ze het ineens heel makkelijk... Zelfs een tool die de COM-port resolved...

De URL die je had gepost naar dat boardje wijst alleen naar je eigen winkelwagen lijkt, dus toont bij mij niet het juiste product. Naar UART is alleen 1 ding, maar weet je toevallig ook welke verloopkabel dan nodig is voor die X8 connector op de PCB? Dat is een soort 2x3 female connector, maar in de handleiding staat verder geen detail.

Acties:
  • 0 Henk 'm!

  • Sikkek
  • Registratie: Maart 2004
  • Laatst online: 08:59
Snoeikoe schreef op woensdag 12 oktober 2022 @ 14:38:
De URL die je had gepost naar dat boardje wijst alleen naar je eigen winkelwagen lijkt, dus toont bij mij niet het juiste product. Naar UART is alleen 1 ding, maar weet je toevallig ook welke verloopkabel dan nodig is voor die X8 connector op de PCB? Dat is een soort 2x3 female connector, maar in de handleiding staat verder geen detail.
Excuus, deze moet het zijn https://www.reichelt.nl/n....html?&trstct=pos_2&nbc=1

Er komt een kabeltje bij met losse 1 polige headers, je moet even uitvogelen welke pijn op de print van de warmtepomp welke functie heeft...

Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Hier nog een eigennaar van een Toros Vision warmtepomp.

Ik ben ook op zoek naar meer mogelijkheden om te monitoren en eventueel zelf aanpassingen te maken. Hierbij denk ik aan wanneer bijvoorbeeld het anti legionella programma draait (voor zover ik weet draait dat 1x in de week of 1x in de twee weken, hiermee wordt het water in de boiler tot 60 graden verwarmd). Ik zou dat programma het liefst draaien op een moment dat de stroom goedkoop is (dynamische prijzen). Als ik dat dynamisch kan aanpassen zou dat erg leuk zijn.

Momenteel kan ik wat dingen uitlezen via de online monitoring tool van Remeha. Maar ik zou liever geen verbinding hebben met een online tool (of deze alleen inschakelen wanneer ik service nodig heb). Als ik dan waarden kan uitlezen zonder online te zijn, dan zou dat erg plezierig zijn.

Ik heb ondertussen het CP2102 USB naar UART bordje besteld. Het kan wel enige tijd duren voordat ik er daadwerkelijk mee aan de slag ga... (er zijn nog zoveel dingen te doen in mijn nieuwe woning).

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
In de hoop wat meer details te vinden over de interface kabel ben ik eens in de onderdelen lijst (te vinden via Remeha website) van de Toros Vision gedoken. Daarin staat een service tool vermeld waarvan ik vermoed dat het de interface kabel betreft. Artikelnummer is: 7798607

Zie:
https://mijn.remeha.nl/ap...rdelenprijslijst_2022.pdf

Ik heb deze hier gevonden:
https://rensa.nl/Product/0FT7461
https://www.wasco.nl/arti...os-vision-7798607/8740933

Je kunt daar als individu niet zomaar bestellen zo te zien. Maar ik heb het ook niet echt geprobeerd. Denk dat als je een KvK nummer hebt, het waarschijnlijk wel zal lukken.

Hier nog een webshop, kun je zonder account bestellen zo te zien. Nog wel weer een klapje duurder (120 euro met verzendkosten erbij):
https://www.techniekwebsh...0933-0ft7461-5472660.html


Mocht je graag je warmtepomp direct kunnen uitlezen via de software die ook op de website van Remeha te vinden is, dan heb je hier (een hele dure!) kant en klare kabel. Zoals eerder in dit topic vermeld zou het ook met een goedkoop verloopje moeten kunnen, maar dan weet je nog niet de pin layout.

Zou zelf waarschijnlijk niet direct gaan experimenteren met het risico dat je iets in je warmtepomp omzeep helpt (zelfs al zijn het 'slechts' de settings). Wellicht is een kabel van 80 euro dan het geld waard.

[ Voor 24% gewijzigd door ThinkPad op 16-11-2022 09:45 . Reden: Google tracking meuk uit link gehaald ]

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
Dat ziet er niet uit als een kabeltje waar iets van slimmigheid in zit eigenlijk. Sowieso niet in de USB-stekker, dat lijkt gewoon een standaard aangegoten stekker i.p.v. een plastic huisje waar chips in kunnen zitten zoals je bij USB-Serial ziet. Het uiteinde met de speciale stekker zou misschien nog iets in kunnen zitten, maar gezien de smalle diameter hooguit iets van een weerstandje o.i.d.

Heb je al eens gemeten aan de aansluiting op de warmtepomp? Of de pomp deels ontmantelen en dan de printsporen vanaf de connector volgen tot je bij een chip uit komt? (Dan kun je van die chip de datasheet weer opzoeken en kijken op welke pins de connector is aangesloten).

Kans is best wel groot dat het gewoon een USB-Serial gebeuren is en dat het kabeltje de USB verbinding 1:1 doorzet, maar dan via een speciale connector en dat het USB-Serial gebeuren in de warmtepomp zit. Maar dit is met een korreltje zout :P

Producten bij Wasco kun je vaak wel via Warmteservice bestellen. Zij kopen in bij Wasco.

Is @Snoeikoe nog verder gekomen eigenlijk?

[ Voor 24% gewijzigd door ThinkPad op 16-11-2022 09:54 ]


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Heb de warmtepomp ondertussen open gehad. De x8 poort voor de servicetool was in gebruik door de wifi module! Heb wat foto's toegevoegd. Van zowel printplaat WP als wifi module.

Afbeeldingslocatie: https://tweakers.net/i/d8BYTl8r1VQx8HRes7lMYmpDY5c=/232x232/filters:strip_icc():strip_exif()/f/image/04jp7SsmI61YxpzGkNlJsWSj.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/Jpnfqp78tstkVlfzFkh8jRiCCMs=/232x232/filters:strip_icc():strip_exif()/f/image/goV1eXxYEz9DF3omo1eNu6sw.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/IeIo9CwzXs5I0tF1xQ9Fudhw0G0=/232x232/filters:strip_icc():strip_exif()/f/image/EDZxGYNyG6NKSjuT06vYsfig.jpg?f=fotoalbum_tile
Afbeeldingslocatie: https://tweakers.net/i/aXrQYdO3wDvpBEzJQG9HWyjmMJ8=/232x232/filters:strip_icc():strip_exif()/f/image/IKqMCFOVoU7ommP0PNjxj8U5.jpg?f=fotoalbum_tile



Chip op wifi module: pic32mx695 512h
Chip op printplaat het dichtst bij de X8 poort: mys 99 ???

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
Ben er inmiddels ook mee verder gegaan!
Ik vlieg het inmiddels wat meer vanuit de software hoek aan.
Ik bevestig overigens wel dat X8 --> Wifi module bord de connectie is inderdaad. En X8 wordt ook gebruikt door servicemonteur. Had er namelijk een op bezoek en die trok X8 los van het moederbord, en prikte z'n eigen laptop in met die speciale kabel.
Volgende overzichtje is denk ik ook handig, die kreeg ik, maar was ik nog niet in documentatie tegengekomen

Monitor state valueState meaning
1Standby state
2Passief tapwater
4Actief tapwater voordraaien
8Passief CV
16Passief CV voordraaien
32Passief koelen
128Regeneren van bron
1028Actief: Tapwater
1040Actief: CV


Mijn laatste stappen deze week

Ik heb wel een (service) account gekregen bij Remeha online monitoring. Alleen verbond mijn warmtepomp (nog) niet met het internet. En ben het volgende gaan doen:
  1. Ik heb een van de buren gevraagd kort hun Router (TP-Link) die bij hun warmtepomp kwam, te lenen.
  2. Ik ben er achter gekomen dat als je DIP switch nummer 1, die op die Wifi module PCB zit, switched naar beneden (OFF), dat de Wifi module dan in Soft AP mode gaat. Je kan het netwerk dan ook vinden met PC / telefoon als je wifis scanned. SSID: Wifi_Remo_jouwMAC. Probeer dit gerust ook zelf. Je ziet de DIP switch ook op de fotos van @The Flying Dutchman
  3. Met de Honeywell Remo App heb ik het SSID ingesteld van de geleende TP-Link router
  4. DIP-switch 1 terug omhoog gezet, dan gaat hij weer in Wifi Client mode (vrij zeker). De Soft AP verdwijnt van de radar ook.
  5. De toros verbindt succesvol met internet en packets begint te sturen / ontvangen van de Remeha server (in TP-Link Router portal te zien)
  6. Als ik daarna inlog op de Remeha Monitoring portal is de warmtepomp CONNECTED
Paar conclusies al
  • DIP-switch 1 op de PCB lijkt te bepalen of het bord in Soft AP of Wifi Client mode staat.
  • Er 1 groene LED op het bord (die aan de zijkant) die de status van Wifi connectiviteit weergeeft. Die kan uitstaan/knipperen of constant ON zijn.
Volgende stap, nog niet gelukt
Maar toen, ik wilde dat de warmtepomp met mijn eigen netwerk verbindt. Dit is me nog niet gelukt. Waarom wil ik dat? Dan kan ik de packets ook uitlezen die uitgewisseld worden met de server. Dat is de eerste stap naar via wifi (niet bekabeld) de pomp uitlezen.
  1. De pomp weer in Soft AP mode gezet
  2. Eigen SSID en Password ingevuld (ook een 2.4Ghz netwerk met WPA2, net als de TP-link router die bij de pomp kwam)
  3. De pomp weer in Wifi Client mode gezet
  4. Hij verbindt NIET met mijn eigen netwerk
  5. Zelfde gedaan, maar nu mijn eigen netwerk dezelfde SSID gegeven als TP-Link Router + zelfde password. En die TP-Link router uitgezet. In de hoop dat de pomp met mijn eigen fysieke netwerk verbindt dat dezelfde naam + password draagt
  6. Werkt niet
  7. Mijn eigen netwerk weer uitgezet dat dezelfde naam droeg als TP-Link router die bij de pomp kwam, en die laatste dus weer aangezet
  8. Toros verbindt wel weer.
Ik weet niet zo goed waarom de Toros niet wil verbinden met een andere AP, ook al draagt die dezelfde naam (SSID), password en WPA2 setting. Hij blijft 'sticky' aan de TP-Link router die een pomp geleverd wordt.

[ Voor 57% gewijzigd door Snoeikoe op 20-11-2022 10:43 . Reden: tabel toegevoegd, list gemaakt ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
Mogelijk kijkt hij naar het BSSID van de router, het MAC-adres dus. Maar de TP-Link heeft een bedrade uplink naar je netwerk; ik zou een testopstelling maken met een PC/laptop die twee netwerkkaarten heeft (externe USB netwerkkaart bijv.) zodat je het verkeer kan meelezen via Wireshark. Grote kans overigens dat het versleuteld is.

@The Flying Dutchman Ik heb de foto’s even bekeken. Er zit een L6219DSA in, maar dat is een ‘stepper motor driver’. Verder nog een ATMega, dat zal de hoofd CPU zijn.

Maar onder connector ‘6X’ zit ook een ‘ST485C’. Die is veel interessanter, de naam geeft het al een beetje weg: RS485! https://www.st.com/en/int...-transceivers/st485c.html mogelijk dat daar ‘gewoon’ Modbus overheen gaat zoals al eerder werd genoemd in dit topic.

Maar of dat ook via poort 8X naar buiten gaat is lastig te zien. Mogelijk alleen via 6X.

Wat voor 8-potige chip zit er in het wifi doosje vlakbij de rode connector? Recht boven het component met opdruk ‘330’.

[ Voor 31% gewijzigd door ThinkPad op 20-11-2022 21:29 ]


Acties:
  • +1 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
ThinkPad schreef op zondag 20 november 2022 @ 21:20:
Wat voor 8-potige chip zit er in het wifi doosje vlakbij de rode connector? Recht boven het component met opdruk ‘330’.
Dat is een L5970AD GK929. Voltage regulatie?

The Flying Dutchman


  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Snoeikoe schreef op zondag 20 november 2022 @ 09:41:
Volgende stap, nog niet gelukt
Maar toen, ik wilde dat de warmtepomp met mijn eigen netwerk verbindt. Dit is me nog niet gelukt. Waarom wil ik dat? Dan kan ik de packets ook uitlezen die uitgewisseld worden met de server. Dat is de eerste stap naar via wifi (niet bekabeld) de pomp uitlezen.
  1. De pomp weer in Soft AP mode gezet
  2. Eigen SSID en Password ingevuld (ook een 2.4Ghz netwerk met WPA2, net als de TP-link router die bij de pomp kwam)
  3. De pomp weer in Wifi Client mode gezet
  4. Hij verbindt NIET met mijn eigen netwerk
  5. Zelfde gedaan, maar nu mijn eigen netwerk dezelfde SSID gegeven als TP-Link Router + zelfde password. En die TP-Link router uitgezet. In de hoop dat de pomp met mijn eigen fysieke netwerk verbindt dat dezelfde naam + password draagt
  6. Werkt niet
  7. Mijn eigen netwerk weer uitgezet dat dezelfde naam droeg als TP-Link router die bij de pomp kwam, en die laatste dus weer aangezet
  8. Toros verbindt wel weer.
Ik weet niet zo goed waarom de Toros niet wil verbinden met een andere AP, ook al draagt die dezelfde naam (SSID), password en WPA2 setting. Hij blijft 'sticky' aan de TP-Link router die een pomp geleverd wordt.
Mooie progressie! Bij mij connect de WP wel gewoon naar mijn eigen AP. Heb SSID, wachtwoord en beveiliging overgenomen. Ik zal eens kijken wat ik met wireshark kan vinden. De WP stuurt zover ik weet zelfstandig met een regelmatig interval data naar de centrale server van Remeha. Bij de servicedesk konden ze de waarden uitlezen terwijl er geen spanning op het apparaat stond.

edit: ondertussen even met wireshark aan de slag geweest. Ik zie de communicatie tussen WP en de monitoring server. Ik heb een uur aan data, hierin zie ik 1x dat er een PPTP connectie opgezet wordt. Verder zijn het allemaal TCP berichten die langskomen met data waar ik vooralsnog niet veel mee kan (allemaal naar poort 7001 op de remote server).

[ Voor 9% gewijzigd door The Flying Dutchman op 24-11-2022 23:09 ]

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
Ik zie hetzelfde na gebruik Wireshark
Vanaf poort 2263 (local) naar remote (server) 7001 (op 90.145...)
Het lijkt wel een sequence te zijn waarbij de warmtepomp steeds een kleine TCP payload stuurt (1 parameter) en dan de server weer reageert. En dat 20 keer. Ipv 1 groot/lang TCP bericht.
Maar binnen die data zie ik ook zo gauw (nog) niet hoe ik het kan lezen. Lijkt niet encrypted omdat in 1 van die sequence berichten de MAC van mijn warmtepomp gewoon 'plain text' staat.

@The Flying Dutchman
Mag ik overigens vragen hoe je dit precies hebt ingesteld?
Bij mij connect de WP wel gewoon naar mijn eigen AP. Heb SSID, wachtwoord en beveiliging overgenomen.
Heb je ook AP settings in de warmtepomp geprogrammeerd met die App of heb je een andere manier?
Of heb je simpelweg je AP dezelfde naam en settings gegeven als de router die bij de pomp kwam?

Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Ik geloof niet dat ik iets bijzonders heb ingesteld. Heb SSID zelfs verborgen gezet en een MAC access control list toegevoegd zodat alleen mijn warmtepomp op dit SSID mag.

Afbeeldingslocatie: https://tweakers.net/i/N7vlZjuJk5sZtr7RYlIuEEnbMBU=/800x/filters:strip_exif()/f/image/4vYgh0ttQcRc0cjrvuEGngqb.png?f=fotoalbum_large

Ik heb overigens niets aan mijn warmtepomp zelf ingesteld. Niet via de app en ook niet via dipswitches op de wifi module oid. Dus alles helemaal op de standaard settings en het meegeleverde access point vervangen door mijn eigen met exact dezelfde gegevens.

Zou het kunnen dat jouw access point PPTP blokkeert? (je gaf aan dat hij uberhaupt niet connect met AP, dus ik neem aan dat het al eerder mis gaat...)

[ Voor 28% gewijzigd door The Flying Dutchman op 25-11-2022 11:23 ]

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
Hij connect nu wel met mn eigen AP, mits ik geen encryptie zet (Open, dus geen password).

Hoewel ik op mn Unifi AP eerder WPA2 PSK (2.4ghz) had gezet, zelfde als op bijgeleverde router, maar dat werkt dus niet.
Zit toch een verschil in de encryptie settings.
Wordt vervolgd...

Acties:
  • 0 Henk 'm!

  • DJJK
  • Registratie: Oktober 2022
  • Laatst online: 09-06 13:10
Ik volg dit draadje met veel interesse. Ook wij hebben een Toros Vision warmtepomp inclusief EVA na regeling in de master-master variant. De hoofd thermostaat (Honeywell home modulation) hangt in de woonkamer en de rest van de ruimtes in huis hebben alle een eigen thermostaat (Honeywell round). We hebben aardige goede ervaringen met het systeem ( zo’n twee jaar in gebruik nu) echter is er wel twee keer een EVA unit vervangen. Gelukkig garantie, maar die dingen kosten gewoon minimaal €500,- per stuk.
Maar ook wij kunnen de WP niet meer uitlezen. Eerst ging dat via een server van Techneco en na overname door Remeha via het online Remeha dashboard. Maar ook die is nu uit de lucht.
Ik heb nu dus de kabel besteld die hier eerder al werd voorgesteld en de software op me laptop gezet. Nog even wachten tot de kabel binnen is en dan maar is kijken hoe gebruiksvriendelijk het allemaal is. Het liefst doe ik het allemaal dmv WiFi dus ik hoop dat er een oplossing voor komt, door Remeha of de slimme koppen hier ;)

Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
@DJJK
Leuk dat je er ook mee bezig bent!
Ook wij hebben een Toros Vision warmtepomp inclusief EVA na regeling in de master-master variant
Vraagje, want ik heb die niet. Je hebt dan op iedere vloerverdeler-knop, 1 motor zitten toch? Draait hij dan een groep volledig dicht (dus dat debiet naar 0 gaat en dan de rest meer debiet krijgt) of kan hij ook 'half' openen? Want die motoren sturen niet de debiet-regelaars zelf aan toch?
Maar ook wij kunnen de WP niet meer uitlezen. Eerst ging dat via een server van Techneco en na overname door Remeha via het online Remeha dashboard.
Dus je kan ook niet meer bij https://monitoring.remeha.nl/ inloggen met je oude login credentials van monitoring.techneco.nl ?
Werkt hier wel nog, maar vreemdgenoeg loopt de data daar bij mij ineens 23 / 24 uur achter. Ik zie de data van dit moment pas over 23 uur daar als 'last update'. Vraag me af of dat bug server-side is, of dat de warmtepomp clock-drift heeft en de web portal puur de tijd neemt die de pomp heeft meegestuurd.
Ik heb nu dus de kabel besteld die hier eerder al werd voorgesteld en de software op me laptop gezet. Nog even wachten tot de kabel binnen is en dan maar is kijken hoe gebruiksvriendelijk het allemaal is
Heel benieuwd!

Acties:
  • 0 Henk 'm!

  • DJJK
  • Registratie: Oktober 2022
  • Laatst online: 09-06 13:10
Dit is wat ik in beeld krijg als ik inlog via de Remeha link;

Afbeeldingslocatie: https://tweakers.net/i/Mh_9CTZBWzG4c42ZKZ6tKmsuMMs=/800x/filters:strip_icc():strip_exif()/f/image/WPnnxx3d8OfUkVP6bRYTCYQ6.jpg?f=fotoalbum_large

De X8 aansluiting op de printplaat zit nu nog op het WiFi kastje (las doosje) aangesloten. Ik ben er wel achter dat de aansluiting een seriële UART com port is. Op de printplaat bij de poort staat het cijfer 3 en 6. Die geven volgens mij de poort volgorde aan. 6 pins, dus een Vcc, gnd, Txd, Rxd, Cts en Rts? De kabel die ze gebruikt hebben heeft andere kleuren dan voor UART is aangegeven. Dus moet dat nog even uitzoeken.


En hoe het systeem precies werkt geen idee haha.
Misschien beantwoord dit je vraag, uit de handleiding;

[/quote] De EVA wordt geplaatst tussen de thermostaten en de thermische motoren op de verdeler.
• Iedere EVA heeft een eigen 230 Volt netspanning aansluiting nodig.
• Alleen de master EVA is direct verbonden met de warmtepomp.
• Wordt de EVA toegepast met een Toros Vision, dan is alleen een 2-aderige (zwakstroom) signaalkabel
nodig om de EVA aan te sluiten op de warmtepomp, zie hoofdstuk 3. In het geval van een oudere warmte- pomp zijn meer aansluitingen nodig (2 aders voor het vrijgavecontact, 2 aders voor het zomer-/wintercon- tact en 2 aders voor een maximaalthermostaat), zie hoofdstuk 6.
• Indien er meerdere verdelers in de woning zijn geplaatst kan worden overwogen om meerdere EVA’s te plaatsen. Onderling worden deze EVA’s verbonden met een 4-aderige (zwakstroom) signaalkabel. In hoofdstuk 5 staat beschreven hoe deze aansluiting moet worden gemaakt.
• In de regeling is opgenomen dat wanneer er geen verwarmingsvraag is er toch altijd een zone “open” blijft. Op deze manier wordt stroming over de warmtepomp gegarandeerd gedurende de opwarmtijd van de thermische motoren bij de eerstvolgende keer dat de warmtepomp aan gaat. De open zone is altijd de laatst vragende zone op de master EVA. In het geval de laatst vragende zone een van de zones op een slave EVA was, gaat na het wegvallen van de vraag de laatst vragende zone aangesloten op de master EVA open.
• Het heeft de voorkeur om zone 1 van de master EVA op een zo groot mogelijke ruimte aan te sluiten welke regelmatig warmte vraagt, zoals bijvoorbeeld de woonkamer.
• Voor een optimaal rendement dient de warmtepomp zo min mogelijk schakelingen te maken en is de mini- male draaitijd van de warmtepomp in de software ingesteld op 10 minuten.
• Een zone wordt op de EVA geactiveerd door eenmaal het vraagcontact van de thermostaat te sluiten.
[quote]

Ik heb sowieso installateurs handleidingen van de WP als er iemand interesse heeft. Zowel de nieuwe van Remeha als de oude van Techneco zelf.

Acties:
  • +1 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Ik heb de (officiele service) kabel ook maar besteld en ondertussen ook binnen. Ik heb de kabel nog niet ontmanteld, maar het lijkt erop alsof er slechts 3 van de 6 draden in gebruik zijn.


Draden in gebruik (bekeken alsof je voor de warmtepomp / printplaat staat)
code:
1
2
| |x|x|
| |x| |


Op mijn eedere foto zijn dat dus de twee draden rechtsboven en onder de middelste (geel, grijs en bruin).

De servicetool heb ik ook geinstalleerd. Hier worden een project file en 'screens' meegeleverd (zie handleiding servicetool). De project file deed het niet goed bij mij (het lukte me niet om de individuele screens te openen). Maar je kunt de 4 screens ook direct openen met de tool en dan lukt het me om de waarden uit te lezen.

De screen files zelf bevatten ook interessante informatie die ik probeer te interpreteren. Het zijn gewoon tekst files met daarin de configuratie van de screens. Het meest intressante is dat er geheugen addressen in staan. Hier een klein stukje van het 'status' scherm:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
9408399
"L",0,1,"81E6",0,"Zomer-winter-stand","",0,0,0,0,"0",0,2068,4515,2068,2820,"0"
"I",1,1,"0032",0,"Actuale storing","Actual Error",0,0,0,0,"0",0,2068,7899,2068,6204,"0",1,0
"I",1,0,"0032",7,"Vergrendeld","Not Assigned",0,0,0,0,"0",0,2444,7899,2444,6204,"0",1,1
"I",1,3,"00AB",0,"Reset (code: AA55)","",0,0,1,0,"0",1,2820,7899,2820,6204,"0",3,2
"I",1,1,"30CE",0,"Lage druk schakelaar","",0,0,0,0,"0",0,3572,7899,3572,6204,"0",4,1
"I",1,1,"30CE",0,"Hoge druk schakelaar","",0,0,0,0,"0",0,3948,7899,3948,6204,"0",4,0
"L",0,1,"F12B",0,"MaxT CPR","gbMaxCompTherm",0,0,0,0,"0",0,4324,7899,4324,6204,"0"
"L",0,1,"F830",0,"MaxT EE","gbMaxEE",0,0,0,0,"0",0,4700,7899,4700,6204,"0"
"L",0,1,"F12A",0,"EC1","gubRelieve",0,0,0,0,"0",0,5076,7899,5076,6204,"0"
"L",0,1,"FA70",0,"EC2","gbDistWPSwitch",0,0,0,0,"0",0,5452,7899,5452,6204,"0"
"L",0,3,"F37C",0,"Afgiftesysteem(min:sec)","guwMinTimers+1",0,0,0,0,"0",1,2068,11283,2068,9588,"0"
"L",0,3,"F37A",0,"Pompen(min:sec)","guwMinTimers",0,0,0,0,"0",1,2446,11296,2446,9601,"0"
"L",0,1,"F364",0,"Warmtepomp(sec)","gubSecTimers+1",0,0,0,0,"0",0,2820,11283,2820,9588,"0"
"L",0,3,"F37E",0,"CPR AAN-AAN (min:sec)","guwMinTimers+2",0,0,0,0,"0",1,3196,11283,3196,9588,"0"
"L",0,3,"F380",0,"CPR UIT_AAN (min:sec)","guwMinTimers+3",0,0,0,0,"0",1,3572,11283,3572,9588,"0"
"L",0,3,"F382",0,"CPR AAN-UIT(min:sec)","guwMinTimers+4",0,0,0,0,"0",1,3948,11283,3948,9588,"0"
"I",1,4,"500B",0,"TZC ZONNECOLLECTOR","Not Assigned",0,0,0,0,"0",0,7144,6019,7144,4324,"0",4,2
"I",1,4,"35F7",0,"TBU BUITEN Actueel","Not Assigned",0,0,0,0,"0",0,7144,9779,7144,8084,"0",4,2
"I",1,4,"3561",0,"TTW TAPWATER","",0,0,0,0,"0",0,7144,13351,7144,11656,"0",4,2
"L",0,1,"F3F6",0,"Solarpomp [%]","gubSP6",0,0,0,0,"0",0,7520,6019,7520,4324,"0"
"I",1,1,"1DB6",0,"Mengpositie klep (%)","Not Assigned",0,0,0,0,"0",0,8851,13336,8851,11641,"0",4,0
"I",1,3,"5AAB",0,"TBR Bron WP IN","Not Assigned",0,0,0,0,"0",0,8460,7335,8460,5640,"0",4,2
"I",1,4,"3AF8",0,"TVI Bron WP IN","",0,0,0,0,"0",0,8836,7335,8836,5640,"0",4,2
"I",1,4,"178F",0,"TCU CV WP UIT","",0,0,0,0,"0",0,8836,10531,8836,8836,"0",4,2
"I",1,3,"3F6B",0,"TAU CV WP UIT na EE","Not Assigned",0,0,0,0,"0",0,8460,10531,8460,8836,"0",4,2
"I",1,3,"356E",0,"Actuele regelwaarde","Not Assigned",0,0,0,0,"0",0,9211,13336,9211,11641,"0",4,2


Het 4e veld is het geheugen address en volgens mij is het 5e veld het bit wat uitgelezen moet worden. Sommige waarden zijn unsigned byte, andere waarden zijn bits. Zie bijvoorbeeld het 2e en 3e veld, die hebben hetzelfde adres, maar het vergrendeld veld is een bit (dit is te zien in de servicetool, als je het scherm opent en dubbelklikt op het veld 'vergrendeld').

Ik ben ondertussen ook nog met wireshark in de weer om te kijken of ik dezelfde waarden terug kan vinden in de berichten. Ik zie (net als Snoeikoe) het MAC address van de warmtepomp in de berichten. Veel waarden in de berichten zijn redelijk constant. Er is één waarde die overeenkomt met de hex waarde van de actuele storing op mijn warmtepomp. Kan toeval zijn... ik probeer een veld te vinden wat ik redelijk makkelijk kan manipuleren of waarvan de waarde veranderd (en ik die kan volgen). Temperaturen worden in tiende graden weergegeven, dus tapwater temperatuur 48,3 is 483.

Hieronder een voorbeeld van hoe de tool eruit ziet met de details van het 'regelsensor' veld:
Afbeeldingslocatie: https://tweakers.net/i/QzzQbWfiwQHPTqv6muilGjgJfV4=/800x/filters:strip_exif()/f/image/R6FitmDi2KKOCsoEPGDdYohN.png?f=fotoalbum_large

Hier ook nog detail foto's van de kabel:
Afbeeldingslocatie: https://tweakers.net/i/LJ_hUKAMs3C2khOVnitDDduTFso=/x800/filters:strip_icc():strip_exif()/f/image/cYBWtUaXYeCuwjkinw7kUPpc.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/JJbcBfl10OoRFrGxAaZWWas9bgc=/800x/filters:strip_icc():strip_exif()/f/image/AeoZJ4Zax3dkjwaUkbaFpDhM.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/I0rM5wvLYulq-7BXGtxkA46scWY=/800x/filters:strip_icc():strip_exif()/f/image/RlMc1MrbwGjnd5eveEKXE6LH.jpg?f=fotoalbum_large

Kabel driver download verwijst naar:
http://www.di100001.com/system/app/pages/sitemap/hierarchy

Wordt vervolgd...

[ Voor 12% gewijzigd door The Flying Dutchman op 05-12-2022 10:23 ]

The Flying Dutchman


Acties:
  • +1 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Nog een hele korte follow up:

0000005F a5 0d 01 00 00 b3 00 .......
000002E1 a5 0e 30 5b 00 d5 98 94 58 ff ff ff ff 78 00 00 ..0[.... X....x..
000002F1 00 84 00 c0 00 00 1d 01 00 00 01 00 00 46 00 00 ........ .....F..
00000301 00 be 00 00 03 00 00 00 17 01 00 d2 00 00 00 f1 ........ ........
00000311 00 00 b0 07 00 00 06 00 00 e5 00 00 00 bb 00 00 ........ ........
00000321 cd 00 00 00 12 00 00 38 00 00 00 04 00 00 e7 00 .......8 ........
00000331 00 00 05 00 00 e1 00 00 00 bc 00 00 d9 01 00 00 ........ ........
00000341 2b 13 +.


Dit is een stukje data gezien via wireshark. Een packet met daarin 98 bytes aan data. Hierin zie ik het veld staan dat overeen komt met mijn huidige storingscode (ik heb momenteel last van een storing: code 70 - hex 46). Ik heb ook een 2e veld gevonden dat mogelijk de temperatuur van het tapwater weergeeft (gemeten via service tool: 47,3 oftewel 473, hex: 1d9, in het bericht vind ik dat terug als d9 01, iets later zie ik ook dA 01). Ik ben nog helemaal niet zeker of dit daadwerkelijk klopt, ik ga de waarden van deze velden volgen om te kijken of ze mee gaan met de waarden die ik uitlees via de servicetool/thermostaat.


edit:
Tapwater temperatuur ondertussen gedaald naar 46.9 (waarde: 469, hex: 1d5) en ik zie nu d5 01 in hetzelfde veld in wireshark. Begint er dus erg op te lijken dat ik in het bericht inderdaad de tapwater temperatuur gevonden heb!

Ga kijken of ik nog meer waarden kan vinden/bevestigen en zal vervolgens kijken of de informatie in een tabel te vatten is.

edit 2:
Gevonden in hetzelfde bericht (nu ook rood gemarkeerd):
- actuele buitentemperatuur (5,6 graden, oftewel 56, hex: 38)
- TZC zonnecollector (1968, hex: 7b0)

In het bericht dat daarna komt (63 bytes aan data) vond ik een waarden die overeen lijkt te komen met 'TVI Bron WP IN' en 'TBR BRON WP IN' zoals die in de servicetool te zien is. In een derde package (133 bytes aan data) vond ik waarden die lijken te matchen met standby kWh en actief tapwater kWh, actief CV kWh, passief koel kWh, noodbedrijf tp kWh en noodbedrijf CV kWh (dit zijn allemaal unsigned bytes, dus bij 255 is er een overflow).

Ik denk dat met meer speurwerk op deze manier heel wat info te vinden is!

[ Voor 29% gewijzigd door The Flying Dutchman op 05-12-2022 12:59 ]

The Flying Dutchman


Acties:
  • +1 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Wat betreft toegang tot online monitoring: heb van een Remeha monteur begrepen dat er een server transitie plaatsvindt. Heb zelf ook al 2-3 weken geen toegang.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
@The Flying Dutchman Mooi dat het nu een vlucht begint te nemen! d:)b Ik heb zelf niet zo'n warmtepomp, maar vind het erg interessant om mee te lezen. Heb zelf destijds e.e.a. zo uit zitten pluizen voor m'n zonnepanelen omvormer.

Bij klooien met de hex-data vond ik deze site wel handig: https://hexed.it/ Daar kun je de data inplakken en dan is het een kwestie van de bytes bij langs en aan de linkerkant speuren of je ergens een integer ziet die overeenkomt met data die je verwacht te vinden. Scheelt zelf weer omrekenen :P Maar zo was je zelf ook al op weg zie ik ;)

De tool Node-RED is heel mooi om op een toegankelijke manier aan de slag te gaan met dit soort data. Ik heb daarin een flow gebouwd voor de omvormer, wellicht heb je daar iets aan als voorbeeld: ThinkPad in "GoodWe inverter lokaal uitlezen (USB / WiFi)"

Wat die kabel betreft, ik heb de link van de driver even bekeken. Het lijkt inderdaad een USB to Serial kabeltje te zijn zoals ik al vermoedde. Als ik hier kijk: http://www.di100001.com/home dan zie ik nog 'ESYS Reference' staan met een pinout van 3 pinnen: RX/TX/GND wat overeenkomt met jouw kabel die ook maar 3 bezette pinnen heeft. Ik ben heel erg geneigd om te zeggen dat je met een $3 USB-Serial kabeltje van AliExpress waar je het juiste stekkertje op maakt, net zoveel kunt uitlezen als met deze kabel van €83-120 :X Eigenlijk wat @DJJK ook al aangaf.

[ Voor 29% gewijzigd door ThinkPad op 05-12-2022 21:14 ]


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
ThinkPad schreef op maandag 5 december 2022 @ 19:43:
@The Flying Dutchman Mooi dat het nu een vlucht begint te nemen! d:)b Ik heb zelf niet zo'n warmtepomp, maar vind het erg interessant om mee te lezen. Heb zelf destijds e.e.a. zo uit zitten pluizen voor m'n zonnepanelen omvormer.

Bij klooien met de hex-data vond ik deze site wel handig: https://hexed.it/ Daar kun je de data inplakken en dan is het een kwestie van de bytes bij langs en aan de linkerkant speuren of je ergens een integer ziet die overeenkomt met data die je verwacht te vinden. Scheelt zelf weer omrekenen :P Maar zo was je zelf ook al op weg zie ik ;)

De tool Node-RED is heel mooi om op een toegankelijke manier aan de slag te gaan met dit soort data. Ik heb daarin een flow gebouwd voor de omvormer, wellicht heb je daar iets aan als voorbeeld: ThinkPad in "GoodWe inverter lokaal uitlezen (USB / WiFi)"

Wat die kabel betreft, ik heb de link van de driver even bekeken. Het lijkt inderdaad een USB to Serial kabeltje te zijn zoals ik al vermoedde. Als ik hier kijk: http://www.di100001.com/home dan zie ik nog 'ESYS Reference' staan met een pinout van 3 pinnen: RX/TX/GND wat overeenkomt met jouw kabel die ook maar 3 bezette pinnen heeft. Ik ben heel erg geneigd om te zeggen dat je met een $3 USB-Serial kabeltje van AliExpress waar je het juiste stekkertje op maakt, net zoveel kunt uitlezen als met deze kabel van €83-120 :X Eigenlijk wat @DJJK ook al aangaf.
Bedankt voor de tips! Ben met je eens dat het met een kabel van 3 euro waarschijnlijk ook prima te doen is. Maar op deze manier kon ik één variabele afvinken en loop ik ook geen risico dat ik iets verkeerds doe met mijn warmtepomp.

Ben verder in de berichten structuur gedoken. Ik zie berichten met verschillende hoeveelheden data. Daar zit ook een patroon in:

a5 XX ?? YY 00 ...

Als je naar de data kijkt dan zie je de volgende bytes:
- 1e byte is altijd a5
- 2e byte is een volgnummer
- 3e byte onbekend, mogelijk een bericht type oid, ik zie wel een patroon:
-- berichten met 7 bytes aan data is dit altijd 17
-- berichten met 8 bytes aan data is dit altijd 20
-- berichten met 35 bytes data is dit altijd 12
-- berichten met 63, 98 of 133 bytes data is dit altijd 30
- 4e byte is de hoeveelheid data - 7 (bijvoorbeeld bij bericht met 98 bytes aan data is de waarde 5b, oftewel 91)
- 5e byte onbekend, lijkt altijd 00 te zijn
- 6e byte?
- 7e byte?
- Vanaf byte 8 begint de data? Aangezien de waarde 4e byte altijd 7 minder is dan het data block?
- Voor berichten met 63, 98 en 133 bytes aan data zijn de eerste 9 bytes (behalve volgnummer en berichtgrootte / bytes 2 en 4) altijd identiek: a5 XX 30 YY 00 d5 98 94 58

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
Er zal ongetwijfeld ook nog ergens een CRC in het datapakket zitten, zodat corrupte data niet getoond wordt in de applicatie.

Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
ThinkPad schreef op dinsdag 6 december 2022 @ 09:53:
Er zal ongetwijfeld ook nog ergens een CRC in het datapakket zitten, zodat corrupte data niet getoond wordt in de applicatie.
Ja, dat vermoed ik ook. Eens kijken of ik dat kan uitvogelen....
Verder wil ik eens kijken naar die geheugen addressen die in de files staan die gebruikt worden in de service tool. Mogelijk wordt de data op volgorde van geheugen adres verstuurd oid.

Een aantal berichten kan ik herkennen op basis van de lengte van het bericht. Maar ik zie ook duidelijke verschillen tussen meerdere berichten die elk 63 bytes aan data bevatten. Dus ik denk dat er ook nog iets moet zijn als:
- Een vaste volgorde waarin berichten worden gestuurd
- Een identifier (welk type bericht)
- Een identifier voor iedere verzonden waarde
- Of een combinatie van bovenstaande

De berichten met 98 en 133 bytes lijken altijd dezelfde informatie te versturen.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
De datapakketten die je hier deelt, dat heb je uit Wireshark toch?

Je zou ook nog een man-in-the-middle sniffing tool kunnen installeren die meeluistert op de COM-poort. Zodat je tussen de warmtepomp en de uitleessoftware zit. Wellicht kun je daar dan het 'gesprek' beter mee volgen. Volgens mij kan een programma zoals 'RealTerm' dit. Of bijv. 'PortMon' zie ik ook wel genoemd worden.

Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
ThinkPad schreef op dinsdag 6 december 2022 @ 13:03:
De datapakketten die je hier deelt, dat heb je uit Wireshark toch?

Je zou ook nog een man-in-the-middle sniffing tool kunnen installeren die meeluistert op de COM-poort. Zodat je tussen de warmtepomp en de uitleessoftware zit. Wellicht kun je daar dan het 'gesprek' beter mee volgen. Volgens mij kan een programma zoals 'RealTerm' dit. Of bijv. 'PortMon' zie ik ook wel genoemd worden.
Dat klopt, dit is inderdaad via wireshark.

Het idee dat jij oppert zou ik inderdaad ook willen proberen. Ik weet niet precies hoe het protocol werkt, misschien is het zelfs zo simpel als: de warmtepomp dumpt continu alle waarden naar de interface (beetje zoals de P1 poort van een slimme meter). In dat geval zou ik gewoon kunnen luisteren naar de poort en de data opslaan.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • borft
  • Registratie: Januari 2002
  • Laatst online: 25-06 13:46
The Flying Dutchman schreef op maandag 5 december 2022 @ 19:26:
Wat betreft toegang tot online monitoring: heb van een Remeha monteur begrepen dat er een server transitie plaatsvindt. Heb zelf ook al 2-3 weken geen toegang.
probeer anders eens https://tomos.remeha.nl daar lijkt de nieuwe portal te draaien. Zit alleen helaas recaptcha op, dus mijn scraper werkt niet meer :( Als iemand een manier weet om de data daar makkelijk uit te trekken, houd ik me aanbevolen.


Oh ja, ik heb dus ook en toros vision, met EVA zoneregeling. dmv een OTGW kan ik redelijk wat uitlezen qua temperaturen, maar verbruik haalde ik tot nu toe uit de portal, en daar komt mijn script niet meer in :(

Dus als iemand een mooie manier weet om het direct uit de WP te halen... :D

Acties:
  • 0 Henk 'm!

  • DJJK
  • Registratie: Oktober 2022
  • Laatst online: 09-06 13:10
Hier ook inmiddels de kabel binnen. Volgende probleem diende zich meteen alweer aan, geen windows pc 8)7
Heel even een laptop van mijn werk geleend en ik kan inmiddels in het microcom programma, en contact maken met de WP. Nog niet echt een deep dive gedaan.
Ik probeer ook de connector te zoeken die aan de kabel zit, want bijna 90 euro voor een usb kabel is wel een beetje belachelijk. Want ben er nu toch wel zeker van dat het gewoon om een seriële poort gaat.

Afbeeldingslocatie: https://tweakers.net/i/H3_A9XOFRfYEHaJcG1KofDnL-G0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/zfgtyhCC9Y0RFVJErMJwrkLb.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/5Lnb8uKD7_1uJRDZvWyxm4-MabE=/800x/filters:strip_icc():strip_exif()/f/image/ArfcZpIwQJ1eU6NJypkGh0CF.jpg?f=fotoalbum_large

Ik ben nog niet bereid om op de printplaat te gaan solderen i.v.m. garantie en de kans dat ik heel de boel sloop :*) Dus als ik de connector heb gevonden dan ga ik even een spitter maken zodat het wifi kastje samen met de usb kabel gebruikt kan worden. Ik kan dan in ieder geval ook de aansluiting buiten de WP brengen.
De installateur heeft bij namelijk een omkasting om de unit gezet. :?

Afbeeldingslocatie: https://tweakers.net/i/i8r25IuyUfmx-0v7rDDmOJ4O358=/x800/filters:strip_icc():strip_exif()/f/image/6UzVQOc4wMFH7EylO49SWPJS.jpg?f=fotoalbum_large

Goed om te zien dat er meerdere Tweakers mee bezig zijn vanuit verschillende invalshoeken, ik heb namelijk geen kaas gegeten van de software kant.
@borft Via die link krijg ik inderdaad wel een inlogpagina, alleen krijg ik de melding dat mijn inloggegevens onjuist zijn.

Acties:
  • 0 Henk 'm!

  • borft
  • Registratie: Januari 2002
  • Laatst online: 25-06 13:46
DJJK schreef op woensdag 7 december 2022 @ 09:07:

@borft Via die link krijg ik inderdaad wel een inlogpagina, alleen krijg ik de melding dat mijn inloggegevens onjuist zijn.
Dat had ik ook, password reset deed de truc. Maar dan moet Remeha dus wel je email adres hebben, anders werkt het niet.

Tof om de installatie te zien, bij mij ziet het er heel anders uit. De EVA hangt hier op zolder, bij de verdeler voor de 1e en 2e verdieping. WP + boilvervat staan beneden. Is die ombouw vanwege geluid?


ben erg benieuwd naar het reverse engineeren van het protocol. Als het, blijkbaar, mogelijk is chocola te maken van packet dumps, dan gaat de data dus ook onversleuteld over Internet?!

[ Voor 15% gewijzigd door borft op 07-12-2022 10:35 ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 15:16
borft schreef op woensdag 7 december 2022 @ 10:34:
[...]
ben erg benieuwd naar het reverse engineeren van het protocol. Als het, blijkbaar, mogelijk is chocola te maken van packet dumps, dan gaat de data dus ook onversleuteld over Internet?!
Dat is sowieso het geval, anders had @The Flying Dutchman in Wireshark geen waardes kunnen terugherleiden...

Je mag nog wel opletten ook dat ze niet meelezen hier en een firmware update naar je wifi-module pushen en hij de data ineens versleuteld gaat verzenden. Dan gooien ze effectief de deur voor je dicht :P

Edit: Mogelijk niet helemaal waar, de term 'PPTP' is in dit topic ook gevallen. Best kans dat de meegeleverde router een VPN-tunnel opzet (dat dat met insecure PPTP is laten we dan maar even in het midden...)

[ Voor 14% gewijzigd door ThinkPad op 07-12-2022 11:39 ]


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Ik heb gisteravond nog een speurtocht gedaan op internet naar het Esys / CVBC / Microcom protocol. Wat ik gevonden heb is dat het iets van Honeywell is. Ik heb ook verwijzingen gevonden naar een document dat het protocol beschrijft, maar het document zelf heb ik niet kunnen vinden. Heb wel ergens een document gevonden dat ook verwijst naar dit protocol en waar ook geheugenaddressen genoemd worden die uitgelezen kunnen worden. Ik zag voor de foutcode hetzelfde geheugenadres dat ook in de servicetool gebruikt wordt. Deze geheugen adressen zijn dus blijkbaar een standaard van Honeywell.

Ook gevonden: voor sommige waarden worden de high bits of de low bits van een byte gebruikt. Op die manier staan er dus 2 waarden in 1 byte. Hierdoor is het zoeken soms iets moeilijker misschien. Maar dit valt allemaal terug te vinden via de service tool en de bijbehorende screen files.

Volgende stap is het meelezen op de COM poort. Die screen files zijn erg eenvoudig. Ik zou er zelf eentje kunnen maken (in een text editor) waar slechts 1 waarde uitgelezen worden. Vervolgens meeluisteren op de COM poort om te kijken wat er precies gebeurt om die waarde uit te lezen. Ik weet in ieder geval dat de service tool continu (en zo te zien één voor één) de waarden uitleest en refreshed in een soort loop.

[ Voor 38% gewijzigd door The Flying Dutchman op 07-12-2022 10:47 ]

The Flying Dutchman


Acties:
  • +1 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
ThinkPad schreef op woensdag 7 december 2022 @ 10:36:
[...]


Dat is sowieso het geval, anders had @The Flying Dutchman in Wireshark geen waardes kunnen terugherleiden...

Je mag nog wel opletten ook dat ze niet meelezen hier en een firmware update naar je wifi-module pushen en hij de data ineens versleuteld gaat verzenden. Dan gooien ze effectief de deur voor je dicht :P
Uiteindelijk wil ik de wifi module loskoppelen en er een raspberry pi oid aanhangen die de data uitleest en in InfluxDB stopt. Vervolgens wat mooie grafieken maken met Grafana. Maar een eerste stap zou een python programma kunnen zijn dat op mijn server draait en wat gegevens uit de netwerk communicatie trekt (met pyshark).

The Flying Dutchman


Acties:
  • +1 Henk 'm!

  • borft
  • Registratie: Januari 2002
  • Laatst online: 25-06 13:46
ThinkPad schreef op woensdag 7 december 2022 @ 10:36:
[...]


Edit: Mogelijk niet helemaal waar, de term 'PPTP' is in dit topic ook gevallen. Best kans dat de meegeleverde router een VPN-tunnel opzet (dat dat met insecure PPTP is laten we dan maar even in het midden...)
Ik gebruik de meegeleverde router niet ;) (die ligt hier in een doos stof te vangen). Ik heb een apart ssid opgezet voor de WP, omdat het blijkbaar onmogelijk is de wifi settings aan te passen. En er komt dus wel data in de portal van Remeha, dus de verbinding werkt prima.

Acties:
  • 0 Henk 'm!

  • DJJK
  • Registratie: Oktober 2022
  • Laatst online: 09-06 13:10
borft schreef op woensdag 7 december 2022 @ 10:34:
[...]

Tof om de installatie te zien, bij mij ziet het er heel anders uit. De EVA hangt hier op zolder, bij de verdeler voor de 1e en 2e verdieping. WP + boilvervat staan beneden. Is die ombouw vanwege geluid?
Ombouw is inderdaad voor het geluid, ik heb twee EVA units hangen een bij de WP en de andere op zolder.
De EVA unit bij de WP is de Master unit, hierop zijn de kamer thermostaat en de motor voor de begane grond op aangesloten. Van hieruit gaat een aansluiting naar de unit op zolder. Hierop zijn alle overige thermostaten en zones op aangesloten.

Ik heb denk trouwens ook de juiste jst connector gevonden, heb ze meteen besteld. Zodra deze binnen zijn zal ik ze passen.

Acties:
  • 0 Henk 'm!

  • borft
  • Registratie: Januari 2002
  • Laatst online: 25-06 13:46
Zo, ik heb even een verzoek bij Remeha neergelegd, of ze misschien een API hebben zodat ik bij alle data kan die ze van mij verzamelen. Dat kon in de oude portal vrij eenvoudig, maar dat hebben ze gesloopt door er een recaptcha tussen te zetten. Dit is hun super klantvriendelijke antwoord op mijn reactie dat het niet een vooruitgang voor eindgebruikers is, omdat die functionaliteit verliezen:

code:
1
2
3
4
5
6
7
8
Voor Remeha is het nieuwe portaal wel degelijk een vooruitgang.
Er worden geen aanpassingen gedaan tbv. eindgebruikers.
Er worden ook geen eindgebruikers meer toegevoegd aan dit portaal.


Omdat u via Techneco toegang had heeft u deze behouden.
Als u van mening bent dat wij de prive data niet mogen gebruiken dan kunt u de router loskoppelen.
Wij monitoren het toestel alleen bij storingen of op verzoek van de installateur.

Acties:
  • 0 Henk 'm!

  • Sikkek
  • Registratie: Maart 2004
  • Laatst online: 08:59
Een klein tikje off-topic: ik merk dat bij mij de Toros Vision vannacht met elektrisch element heeft gedraaid, duur grapje met deze energie prijzen. Het lijkt erop dat onder de 3,5 graden vorst het element bijgeschakeld word, en bij 3 graden vorst pas weer uit (hysteryse van 0,5 graad). Ervaren jullie dat ook en hoe staan bij jullie parameters onder Elektrisch Element CV?

[ Voor 0% gewijzigd door Sikkek op 13-12-2022 12:12 . Reden: Tiepfaud ]


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Sikkek schreef op dinsdag 13 december 2022 @ 11:41:
Een klein tikje off-topic: ik merk dat bij mij de Toros Vision vannacht met elektrisch element heeft gedraaid, duur grapje met deze eenrgie prijzen. Het lijkt erop dat onder de 3,5 graden vorst het element bijgeschakeld word, en bij 3 graden vorst pas weer uit (hysteryse van 0,5 graad). Ervaren jullie dat ook en hoe staan bij jullie parameters onder Elektrisch Element CV?
Mijn WP staat momenteel in de noodstand. Alles op het elektrische element.... je wilt niet weten wat het me kost. Had afgelopen week een dag waarop ik bijna 120kWh aan stroom heb verbruikt. Ben aan het wachten op een onderdeel dat vervangen moet worden. Ze konden me niet vertellen wat de levertijd is.

Wat betreft je vraag... heb even op mijn screenshots gekeken van de instellingen:

Grens EE TBuiten: -3
Hysterese water EE: 3
Tijdvertr EE tov CPR: 60
Max. aanvoer na EE: 50

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Sikkek
  • Registratie: Maart 2004
  • Laatst online: 08:59
The Flying Dutchman schreef op dinsdag 13 december 2022 @ 11:49:
[...]


Mijn WP staat momenteel in de noodstand. Alles op het elektrische element.... je wilt niet weten wat het me kost. Had afgelopen week een dag waarop ik bijna 120kWh aan stroom heb verbruikt. Ben aan het wachten op een onderdeel dat vervangen moet worden. Ze konden me niet vertellen wat de levertijd is.

Wat betreft je vraag... heb even op mijn screenshots gekeken van de instellingen:

Grens EE TBuiten: -3
Hysterese water EE: 3
Tijdvertr EE tov CPR: 60
Max. aanvoer na EE: 50
Holy, dat is niet best! Dank je voor de waarden, ik heb het idee dat -3 en 60 minuten tijdvertraging best beroerd, is, als de WP het binnen een uur dus niet het setpoint bereikt heeft en het is kouder dan -3, stookt hij met COP 1 erbij. Lijkt me beter om op -15 en 240 te zetten

Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Sikkek schreef op dinsdag 13 december 2022 @ 12:07:
[...]


Holy, dat is niet best! Dank je voor de waarden, ik heb het idee dat -3 en 60 minuten tijdvertraging best beroerd, is, als de WP het binnen een uur dus niet het setpoint bereikt heeft en het is kouder dan -3, stookt hij met COP 1 erbij. Lijkt me beter om op -15 en 240 te zetten
Ja. Dit zijn typisch de zaken die ik zou willen monitoren en aanpassen. Is het echt nodig dat het elektrisch element bij -3 bijschakelt? Is dat puur omdat de woning anders niet meer warm genoeg wordt? Moet de WP te hard werken? Is er risico op snellere uitputting bron? Momenteel kan ik er alleen maar naar gissen.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Ik heb een python script geschreven dat gebruik maakt van pyshark om gegevens uit de netwerk traffic te halen. Het script filtert op uitgaande TCP berichten en moet gedraait worden op een NAT machine (ik draai het op mijn Linux server). Zie hieronder de code:

Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/usr/bin/env python3

import pyshark
import datetime
import math


## capture settings ##
# network interface over which to capture traffic (internal NIC on the server)
INTERFACE='eth3'
# source host (ip address of the heat pump)
HOST='192.168.100.15'
# buffer size in bytes for capture ring buffer
BUFFER_SIZE=4096
# capture filter, only capture TCP traffic orginating from host
CAPTURE_FILTER='ip proto \\tcp and src host ' + HOST

  
# convert numBytes unsigned value to a signed value
def toSignedWord(n, numBytes):

    allOnes = 0x1
    mostSignBit = 0x1 << (numBytes * 8 - 1)

    for i in range(0, numBytes * 8 - 1):
        allOnes = (allOnes << 1) | 0x1
    
    n = n & allOnes
    return (n ^ mostSignBit) - mostSignBit

# print the list of hexadecimal values over multiple lines
def printHexadecimalValues(v):

    # how many hex values to print on a single line
    valuesPerLine = 16

    rows = math.ceil(len(v) / valuesPerLine)

    for i in range(rows):
        for j in range (valuesPerLine):
            idx = i * valuesPerLine + j
            if idx < len(v):
                print(v[idx], end=" ")
        print("")

# extract a value from the array of bytes
# firstByte: index of first byte of the value (start at 0)
# numBytes: how many bytes to read from the array
# toSigned: convert the value to a signed value
def convertToValue(v, firstByte, numBytes, toSigned=False):

    strVal = '0x'

    # travers the bytes in reverse order
    for i in range(firstByte + numBytes - 1, firstByte - 1, -1):
        # append current hex value
        strVal += v[i]

    # convert the base 16 string to a (unsigned) int value
    retVal = int(strVal, base=16)
    if (toSigned):
        return toSignedWord(retVal, numBytes)

    return retVal


# print values from the message that holds 98 bytes of data
def handleMessage98(v):

    # error code: byte 29
    print("foutcode=", convertToValue(v, 29, 1), sep="")

    # temperature tap water: bytes 92 and 93, must be divided by 10 (probably should never go negative, but unknown if stored as signed/unsigned value)
    print("temperatuur tapwater=", convertToValue(v, 92, 2) / 10.0, sep="")

    # outside temperature: bytes 71 and 72, must be divided by 10, signed value
    print("temperatuur buiten=", convertToValue(v, 71, 2, True) / 10.0, sep="")

    # Tvi (BRON WP in): byte 85 (unknown if value is signed/unsigned)
    print("Tvi (bron WP in)=", convertToValue(v, 85, 1) / 10.0, sep="")



# use a ring buffer to capture traffice, make sure we include raw data to access the DATA of TCP packets
capture = pyshark.LiveRingCapture(ring_file_size=BUFFER_SIZE, interface=INTERFACE, use_json=True, include_raw=True, bpf_filter=CAPTURE_FILTER)


# main loop

# start capturing traffice continuously
for packet in capture.sniff_continuously():
    # only if packet has DATA
    if ('DATA' in packet):

        # get current time and print it
        ct = datetime.datetime.now()
        print(ct)
        
        # get the raw value from the data (a string) and split it by ':' to get an array of hexadecimal values
        # the raw value looks like: 'a8:58:00:ff'
        v = packet['DATA'].data.main_field.raw_value.split(":")

        # print the length of the array of hexadecimal values
        print(len(v))

        # show the data as hexadecimal values
        printHexadecimalValues(v)
        
        if len(v) == 98:
            handleMessage98(v)

        print("<<<<<<<<<\n", flush=True)



Voorbeeld output (datetime, aantal bytes aan data, data als hex, aantal bekende waarden eruit gefilterd):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2022-12-16 12:16:26.721679
98
a5 8e 30 5b 00 d5 98 94 58 ff 3c 9c 63 90 16 00 
00 84 00 c0 00 00 29 01 00 00 01 00 00 46 00 00 
00 be 00 00 03 00 00 00 17 01 00 d2 00 00 00 f1 
00 00 b0 07 00 00 06 00 00 32 01 00 00 bb 00 00 
d0 00 00 00 12 00 00 14 00 00 00 04 00 00 f5 00 
00 00 05 00 00 fc 00 00 00 bc 00 00 d9 01 00 00 
79 11 
foutcode=70
temperatuur tapwater=47.3
temperatuur buiten=2.0
Tvi (bron WP in)=25.2
<<<<<<<<<


Volgende stap voor mij is het script uitbreiden om de gelezen waarden naar InfluxDB te pushen. Die code heb ik al liggen voor een ander project, dus dat zou erg eenvoudig moeten zijn.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Helloboy
  • Registratie: Augustus 2021
  • Laatst online: 19-12-2022
Hier heb ik de handleiding en het monteurs programma kunnen downloaden:
https://www.remeha.nl/vee.../toros-vision-servicetool

Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Ik heb ondertussen een vrij goed beeld van hoe de TCP berichten die door de WP verzonden worden eruit zien. Als je kijkt naar de payload (de data) van het TCP bericht dan zie je het volgende:
  • bytes 0 t/m 5 een header:
    • byte 0 is altijd a5
    • byte 1 is het volgnummer van het bericht
    • byte 2 is onbekend, het is geen onderdeel van het volgnummer zo te zien
    • byte 3 is de lengte van het data blok - 7 (mogelijk hoort byte 4 hier ook bij)
  • bytes 5 t/m 18 onbekend, mogelijk zijn dit ook al waarden, de waarde van byte 3 lijkt hier wel op te wijzen (5 bytes header, 2 bytes CRC en de rest is data: waarde van byte 3 komt dan overeen met hoeveelheid data)
  • vervolgens komt er een lijst met waarden, waarbij iedere waarde gerepresenteerd wordt door 7 bytes. Van deze 7 bytes per waarde:
    • bytes 0, 1 en mogelijk ook 2 zijn waarschijnlijk een ID (byte 2 tot nog toe alleen waarde 0 gezien)
    • bytes 3, 4 en mogelijk ook 5 en 6 representeren de waarde (bytes 5 en 6 tot nog toe alleen waarde 0 gezien)
  • het bericht eindigt met 2 bytes: mogelijk CRC
Een voorbeeld uit het bericht van 98 bytes (waarden zijn decimaal):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
... skip eerste 19 bytes ...
 ID|WAARDE  |BETEKENIS
192    271 # actuele regelwaarde
  1     70 # actuele storing
190      4 # onbekend
279    210 # onbekend
241   1968 # tzc zonnecollector
  6    268 # tau (CV WP UIT)
187    213 # temperatuur gemeten door hoofd thermosstaat (?)
 18     96 # buiten temperatuur
  4    296 # tci (CV WP IN)
  5    254 # tcu (CV COND UIT)
188    497 # temperatuur tapwater
... skip laatste 2 bytes ...


Temperaturen moet je delen door 10.

Thermosstaat temperatuur staat nergens in de screens maar het viel me op dat de waarde erg veel leek op mijn kamer temperatuur. Met mijn handen heb ik de thermostaat opgewarmd en toen ging de waarde omhoog :D.

Belangrijkste bevinding is dat een waarde vooraf gegaan wordt door een ID. Tot nu toe gebruikte ik de data size en de offset in het data blok. Maar doordat er meerdere berichten binnen komen die evenveel data hebben, was dat niet een erg bruikbare methode.

[ Voor 10% gewijzigd door The Flying Dutchman op 23-12-2022 11:50 ]

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Eddos
  • Registratie: Maart 2003
  • Laatst online: 15:17
Ik volg dit topic ook met veel interesse. Echt een tweakers-waardig onderwerp naar mijn idee.
Wij hebben sinds 2016 een Toros Vision in onze woning en merken dat veel monteurs het maar spannend vinden, zo'n pomp zonder display waarop de instellingen (eenvoudig) aan te passen zijn.
Zou het geweldig vinden als jullie tot iets komen wat data weet te loggen naar Influx, dan kan ik het mooi naast de P1 gegevens houden. Succes!

Acties:
  • 0 Henk 'm!

  • Sikkek
  • Registratie: Maart 2004
  • Laatst online: 08:59
The Flying Dutchman schreef op dinsdag 13 december 2022 @ 12:15:
[...]


Ja. Dit zijn typisch de zaken die ik zou willen monitoren en aanpassen. Is het echt nodig dat het elektrisch element bij -3 bijschakelt? Is dat puur omdat de woning anders niet meer warm genoeg wordt? Moet de WP te hard werken? Is er risico op snellere uitputting bron? Momenteel kan ik er alleen maar naar gissen.
Ondertussen heb ik met Remeha (een van de oude 'Techneco' engineers) een en ander bepsroken. De -3 en 60 minuten setting zijn simpele defaults, hij heeft het nu aangepast naar -6 en 150. Nu nog de stooklijn goed krijgen...

De beste man vertelde me ook dat als iemand anders dan Remeha de instellingen wijzigt, dat dan de garantie vervalt 8)7

Acties:
  • +3 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Sikkek schreef op vrijdag 23 december 2022 @ 18:02:
[...]
De beste man vertelde me ook dat als iemand anders dan Remeha de instellingen wijzigt, dat dan de garantie vervalt 8)7
Tsja... je kunt waarschijnlijk een hoop dingen omzeep helpen of op zijn minst de warmtepomp flink ontregelen als je zomaar dingen gaat aanpassen. Over het algemeen is het denk ik verstandig om geen wijzigingen te maken tenzij je heel goed weet waar je mee bezig bent. Verder zeggen monteurs wel vaker zoiets natuurlijk...


Ik heb ondertussen veel waarden terug kunnen vinden en die worden nu naar Influx gepubliceerd (ongeveer 30 verschillende waarden). Een aantal waarden ben ik nog niet achter wat de betekenis ervan is (dit zijn er nog eens een stuk of 25). Meestal is dat omdat de waarde die langskomt altijd 0 is en soms omdat ik dan de waarde niet kan matchen met iets in de monitoring schermen.

Verder zie ik dat er in de berichten van 63, 98 en 133 bytes een unix timestamp staat (bytes 9 t/m 12). Deze timestamp wijzigt ongeveer iedere 2 uur. De WP verstuurt iedere 2 uur een bericht met 7 bytes en vervolgens wijzigt de timestamp naar het tijdstip waarop de laatste keer die 7 bytes werden verstuurd. Het zou kunnen dat het bericht van 7 bytes hoort bij een soort interactie met de centrale server. Op het moment kijk ik alleen naar de uitgaande data en zie ik dus niet wat er binnen komt.

Zal binnenkort mijn python script een beetje opschonen en opnieuw delen.

Hieronder een sceenshot van een snel in elkaar gezet Grafana dashboard. Dit toont lang niet alle waarden en moet ook nog even kijken welke waarden nou echt nuttig zijn en wat ik wil tonen.

Afbeeldingslocatie: https://tweakers.net/i/0oiLTlYnLJFFunPExtmGVdLiURM=/800x/filters:strip_exif()/f/image/kWsbky9jX4F6E8sImpR1Arl6.png?f=fotoalbum_large

[ Voor 16% gewijzigd door The Flying Dutchman op 24-12-2022 23:58 ]

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Ahzriaz
  • Registratie: Juli 2014
  • Laatst online: 28-04 18:14
Wat een interessant topic om te volgen. @The Flying Dutchman , mooi overzicht heb je zo bij elkaar gebouwd!

Ook ik heb een Toros Vision en ben bezig geweest met monitoring. Toen een monteur de omkasting er af had gehaald zag ik dat er een kWh meter zit. Een 'raampje' in de omkasting was snel gemaakt en zo kon ik de waardes aflezen. Er zit echter ook een puls LED op de kWh meter. Hier heb ik inmiddels een home assitant glow op geplaatst. Dit werkt in combinatie met home assistant goed en geeft het verbruik weer.

Afbeeldingslocatie: https://tweakers.net/i/P8zhmfK9Pq9k5FzgajmsBRektQg=/800x/filters:strip_icc():strip_exif()/f/image/udmtM80fT3mRhXKFqgEuGywK.jpg?f=fotoalbum_large

Onze WP staat echter zo ingesteld dat in de 'dal uren' tapwater wordt verwarmd. In het kader van comfort gebeurt dit vaak in de ochtend op een moment dat er weinig hernieuwbare energie is en we nog geen eigen opwek hebben. Het is alweer even geleden maar ik heb Remeha gevraagd of er een mogelijkheid is om hier zelf het tijdstip van aan te passen maar hier biedt Remeha (in tegenstelling tot andere warmtepompenleveranciers) niks voor aan. Mooi om te zien dat de service tool beschikbaar is maar het lijkt me nog niet echt bruikbaar. De functie om tijdstip van tapwaterbereiding aan te passen zie ik ook niet terug. Omdat de afschaffing van de salderingsregeling langzaam concreter wordt ga ik hier nogmaals om vragen. Hebben andere hier ook nog contact over gehad?

Ook heb ik gevraagd naar het wijzigen van de standaard wifi instellingen. Ook daar weinig service. Hiervoor moet een monteur langskomen. Ze gaven min of meer aan dat ze voor TP link router met standaard instellingen hebben gekozen zodat bij verhuizing/wijziging netwerk geen monteur nodig is om weer verbinding te krijgen met de monitoring. Er hangen hier in de wijk dus tientallen standaard ingestelde routers met zichtbare SSID's.

Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Ahzriaz schreef op dinsdag 7 februari 2023 @ 22:07:
...

Onze WP staat echter zo ingesteld dat in de 'dal uren' tapwater wordt verwarmd. In het kader van comfort gebeurt dit vaak in de ochtend op een moment dat er weinig hernieuwbare energie is en we nog geen eigen opwek hebben. Het is alweer even geleden maar ik heb Remeha gevraagd of er een mogelijkheid is om hier zelf het tijdstip van aan te passen maar hier biedt Remeha (in tegenstelling tot andere warmtepompenleveranciers) niks voor aan. Mooi om te zien dat de service tool beschikbaar is maar het lijkt me nog niet echt bruikbaar. De functie om tijdstip van tapwaterbereiding aan te passen zie ik ook niet terug. Omdat de afschaffing van de salderingsregeling langzaam concreter wordt ga ik hier nogmaals om vragen. Hebben andere hier ook nog contact over gehad?
Ik had geen idee dat het tijdstip van tapwater verwarmen aan te passen was. Bij mij gaat hij gewoon verwarmen als het onder een bepaalde temperatuur komt (4 graden onder doel temperatuur volgens mij). Daarnaast is er het legionella programma. Een keer in de week verwarmen tot 60 graden. Een monteur heeft me een keer gezegd dat die week begint te lopen na het opstarten van de warmtepomp. Dus je zou hem een keer om 3 uur 's nachts van de stroom af kunnen halen om te kijken of het legionella programma dan altijd op dat moment in de week draait.

Verder mooi om te zien dat er steeds meer mensen aansluiten bij dit topic en met hun eigen oplossingen komen! @Ahzriaz, jouw manier van energiemeten wil ik eigenlijk ook doen. Het is nauwkeuriger dan de standen uitlezen via de verzonden wifi data (ik weet niet precies hoe vaak het bericht met energieverbruik gestuurd wordt en daarnaast moet je bij gaan houden hoe vaak de waarden een overflow hebben gehad).

Mijn opgeschoonde python script komt nog. Ik heb het de afgelopen tijd heel erg druk gehad met andere dingen waardoor ik hier geen tijd aan kon besteden.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Ahzriaz
  • Registratie: Juli 2014
  • Laatst online: 28-04 18:14
Dat het verwarmen van tapwater plaatsvind in de daluren heb ik ergens gelezen (heb nog niet teruggevonden waar). Dat is dan een standaard instelling, aanpassen kan ik niet.
Staat in een document met aanvullende informatie dat ik heb gekregen toen we bezig waren met de koop. Het lijkt een concept document, in een beter opgemaakte versie staat dat het water wordt verwarmd als het is afgekoeld. Dus dat lijkt beter te kloppen.

Wel kan ik via de thermostaat (Chronoterm Touch Modulation) aangeven dat er tijdens 'Slapen' geen tapwater bereid moet worden. Welke tijd ze hierbij hanteren weet ik niet. Ik zou juist graag zelf een tijdblok opgeven (het liefst dynamisch op basis van bv. eigen opwek). Nu is het nogal een dom systeem. Bij 51C (inderdaad 4C onder de standaard doeltemperatuur) gaat die opwarmen, ook al heb ik pas 's-avonds water nodig en 's-middag opwek 'over'.

Ik ga eens kijken of ik het legionella programma kan herkennen en op welk moment die nu plaats vind. Als ik die naar de middag kan verplaatsen is het al iets.

[ Voor 14% gewijzigd door Ahzriaz op 08-02-2023 16:39 . Reden: Verwarmen water in daluren lijkt niet te kloppen dus e.e.a. verduidelijkt. ]


Acties:
  • 0 Henk 'm!

  • Ahzriaz
  • Registratie: Juli 2014
  • Laatst online: 28-04 18:14
borft schreef op woensdag 7 december 2022 @ 16:03:
Zo, ik heb even een verzoek bij Remeha neergelegd, of ze misschien een API hebben zodat ik bij alle data kan die ze van mij verzamelen. Dat kon in de oude portal vrij eenvoudig, maar dat hebben ze gesloopt door er een recaptcha tussen te zetten. Dit is hun super klantvriendelijke antwoord op mijn reactie dat het niet een vooruitgang voor eindgebruikers is, omdat die functionaliteit verliezen:

code:
1
2
3
4
5
6
7
8
Voor Remeha is het nieuwe portaal wel degelijk een vooruitgang.
Er worden geen aanpassingen gedaan tbv. eindgebruikers.
Er worden ook geen eindgebruikers meer toegevoegd aan dit portaal.


Omdat u via Techneco toegang had heeft u deze behouden.
Als u van mening bent dat wij de prive data niet mogen gebruiken dan kunt u de router loskoppelen.
Wij monitoren het toestel alleen bij storingen of op verzoek van de installateur.
Ze hebben op de eigen website staan:
'Daar komt bij dat de overheid via wetgeving (AMvB voor bodemenergie) stelt dat eigenaren en leveranciers de energiehuishouding en de prestaties van een warmtepompsysteem in kaart moeten kunnen brengen. Met sensoren en monitoring wordt dit automatisch bijgehouden.'

Voor gebruikers met een bodemlus dus volgens hun eigen tekst verplicht. Het zou kunnen dat het niet (meer) klopt maar dat weet ik niet.

Acties:
  • 0 Henk 'm!

  • borft
  • Registratie: Januari 2002
  • Laatst online: 25-06 13:46
Ahzriaz schreef op woensdag 8 februari 2023 @ 16:29:
Dat het verwarmen van tapwater plaatsvind in de daluren heb ik ergens gelezen (heb nog niet teruggevonden waar). Dat is dan een standaard instelling, aanpassen kan ik niet.
Staat in een document met aanvullende informatie dat ik heb gekregen toen we bezig waren met de koop. Het lijkt een concept document, in een beter opgemaakte versie staat dat het water wordt verwarmd als het is afgekoeld. Dus dat lijkt beter te kloppen.

Wel kan ik via de thermostaat (Chronoterm Touch Modulation) aangeven dat er tijdens 'Slapen' geen tapwater bereid moet worden. Welke tijd ze hierbij hanteren weet ik niet. Ik zou juist graag zelf een tijdblok opgeven (het liefst dynamisch op basis van bv. eigen opwek). Nu is het nogal een dom systeem. Bij 51C (inderdaad 4C onder de standaard doeltemperatuur) gaat die opwarmen, ook al heb ik pas 's-avonds water nodig en 's-middag opwek 'over'.

Ik ga eens kijken of ik het legionella programma kan herkennen en op welk moment die nu plaats vind. Als ik die naar de middag kan verplaatsen is het al iets.
Je kunt in de thermostaat instellen wanneer het programma slapen actief is. Dat gebruikt ie ook voor de instelling voor het tapwater bij slapen (ja, het is echt zo simpel)

Acties:
  • 0 Henk 'm!

  • Ahzriaz
  • Registratie: Juli 2014
  • Laatst online: 28-04 18:14
Edit: onderstaande levert mogelijk op termijn problemen op. Het legionella programma lijkt bij mij niet meer (wekelijks) te worden uitgevoerd. Monteur van Remeha was not amused dat ik een programma gebruikte waarmee snachts geen tapwater werd gemaakt. Thermostaat moet gewoon op 'continue temperatuur' staan. De functie om snachts geen tapwater te gebruiken moet niet gebruikt worden icm met de toros vision en de EVA regelunit.
Einde edit

Dat was inderdaad heel makkelijk!

Omdat we een warmtepomp hebben altijd gebruik gemaakt van 'Continue temperatuur'.
Nu zo ingesteld dat het programma 'Opstaan' start begin van de middag en 'Slapen' vanaf begin van de avond.
Temperatuur in beide programma's nagenoeg gelijk gehouden (klein temperatuur daling s'nachts is prima). Ik ben erg benieuwd hoe dit gaat uitpakken.

@borft Dank voor de tip!

[ Voor 35% gewijzigd door Ahzriaz op 27-05-2024 10:02 . Reden: aanvullende ervaring die mogelijk relevant is voor anderen ]


Acties:
  • 0 Henk 'm!

  • Eddos
  • Registratie: Maart 2003
  • Laatst online: 15:17
Gerelateerde vraag; ik merk dat veel installateurs moeite hebben met de manier waarop ze onderhoud uit kunnen voeren aan de Toros Vision. Hebben jullie goede ervaringen met bepaalde (landelijke) onderhoudspartijen? of eventueel zelfstandigen/zzp-ers die (ook) in het Noorden willen onderhouden?

Acties:
  • 0 Henk 'm!

  • Kr3Kr
  • Registratie: Maart 2002
  • Laatst online: 07-03 18:12

Kr3Kr

Melpomene

Wij hebben ook moeite om iemand te vinden voor het onderhoud (Randstad), en kunnen pas over twee weken iemand langs hebben (ondanks het servicecontract). Ondertussen zitten we in de kou. Dus ik ben zelf aan de slag gegaan, met de info uit dit topic (dank!).

De kabel die ik gebruik is zelfgemaakt van een CP2104 Friend van Adafruit. De connectors zijn overigens Molex Microfit, ordercodes 43025 voor de connector en 5558 voor de pins. Logic levels zijn 3.3V(!).

Waar ik nu tegenaan loop, is dat Microcom op drie laptops wel installeert maar vastloopt bij het inladen van de 'screens'. Dan wordt het 'project window' (de zijbalk) grijs. Op mijn Mac (VMWare Fusion, Win10) gaat het wel goed, werkt de communicatie ook (die kan ik 'serieel afluisteren'), onderin de statusbalk van het programma cyclet hij ook door de parameters heen en dat komt ook mooi overeen met de data die ik in hex langs zie komen op een andere serial monitor (op een tweede kabel).

Maar de velden in de screens blijven leeg. Opnieuw geprobeerd met een laptop (Win7) uit de tijd waar de software uit lijkt te komen (2017), maar ook daar hetzelfde probleem. Iemand een idee, behalve de hex data met de hand door te pluizen?

[ Voor 0% gewijzigd door Kr3Kr op 14-10-2023 10:56 . Reden: microfit niet minifit ]

Gregor van Egdom Krekr


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Al geprobeert om de screen files direct te openen ipv de project file? Dat was bij mij de oplossing.
The Flying Dutchman schreef op maandag 5 december 2022 @ 10:17:

De servicetool heb ik ook geinstalleerd. Hier worden een project file en 'screens' meegeleverd (zie handleiding servicetool). De project file deed het niet goed bij mij (het lukte me niet om de individuele screens te openen). Maar je kunt de 4 screens ook direct openen met de tool en dan lukt het me om de waarden uit te lezen.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Kr3Kr
  • Registratie: Maart 2002
  • Laatst online: 07-03 18:12

Kr3Kr

Melpomene

The Flying Dutchman schreef op zaterdag 14 oktober 2023 @ 18:49:
Al geprobeert om de screen files direct te openen ipv de project file? Dat was bij mij de oplossing.


[...]
Bedankt. Welke kabel heb jij? Die zelfbouw op basis van CP2102 van Reichelt? Ik gebruik een CP2104 maar ik kan me niet voorstellen dat daar het verschil in zit...

Net geprobeerd de .wcr los te openen op een laptop waar de software eerst vast liep, dan opent hij hem wel inderdaad. Maar daarna is het hetzelfde verhaal als op de laptop waarop de Project File te openen was: Hij gaat alle data af, de lampjes voor verzenden en ontvangen op de kabel knipperen, maar de gegevensvelden zoals in jouw screenshot van dit bericht blijven leeg |:(


Edit: probleem gevonden. De WP verwacht dat de USB-UART een pullup heeft op de RX (data van WP naar PC). Vandaar dat er wel data terug kwam, maar 'ruis', zie bijgevoegd screengrab van 'scope op de RX:

Afbeeldingslocatie: https://tweakers.net/i/iFK66j_Jznq4zRxvodvqjtCHHO8=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/Zh8z25HLBezvtNBenDuMypky.png?f=user_large

De lijn komt wel terug naar 3.3V (door capacitieve koppeling?), maar veel te traag. Met een 4,7k weerstand naar de 3.3V van de CP2104 werkt alles perfect.

[ Voor 60% gewijzigd door Kr3Kr op 14-10-2023 23:05 . Reden: pullup ]

Gregor van Egdom Krekr


Acties:
  • +1 Henk 'm!

  • Sikkek
  • Registratie: Maart 2004
  • Laatst online: 08:59
Voor degenen (@Kr3Kr , @The Flying Dutchman ) die zelf een kabel gemaakt hebben: kunnen jullie de pin-out delen? Ik heb net een CP2102 UART bordje besteld, moet ik het volgende aansluiten:
UART bordX8 connector
TXDPin 5 (TX from device to PC)
RXDPin 2 (RX to device from PC
GNDPin 4 (Ground)


Of moeten TX/RX gekruisd aangesloten worden?

[ Voor 3% gewijzigd door Sikkek op 22-01-2024 17:33 ]


Acties:
  • +2 Henk 'm!

  • jvdleeuw
  • Registratie: Januari 2024
  • Laatst online: 22-02-2024
Dank aan allen die aan deze discussie over het monitoren van de Toros Vision hebben meegedaan.
Ik ben nieuw op dit platform en heb dit onderwerp pas dit weekend gevonden in een zoektocht naar mogelijkheden om de warmtepomp aan te sluiten op mijn nieuw ingerichte Home Assistant omgeving. Mijn Toros draait sinds oktober 2017 conform verwachtingen en heeft me met succes van het gas afgeholpen. Techneco en later Remeha hebben me tot nu toe alleen onder heel veel druk willen ondersteunen. De oorspronkelijke installateur is uit het speelveld verdwenen en directe ondersteuning is nagenoeg nil.
In de periode dat de monitoring op zijn gat lag (voor mij was dat een van de belangrijke aankoop overwegingen geweest) heb ik uiteindelijk bij Techneco via een formele klacht rechtstreeks van hen de software en de passende USB kabel geleverd gekregen, zodat ik de pompgegevens met een laptop zelf kon uitlezen.

Inmiddels draait de monitoring weer netjes via de Remeha webserver, maar mijn account is een puur gebruikers account en Remeha weigert toegangsrechten waarbij instellingen die ik vroeger zelf kon doen ook weer beschikbaar komen, zij willen zelf op afstand aan de knoppen zitten. De monitoring interface bood vroeger ook de mogelijkheid nieuwe parameterwaarden in te voeren, dat lijkt inmiddels niet meer te werken.

Mijn zoekwerk is gericht op het verder optimaliseren van slimme energie verbruik.
Ik wil de verbruiksgegevens van de pomp (Verwarming, Tapwater, Koeling, noodstroom) in mijn gegevens integreren, maar ook bijvoorbeeld instellingen kunnen aanpassen en bijv. mijn tapwater met PV-piek overschotten die niet de accu in kunnen, verder doorverwarmen van 55C naar 75C eventueel met uitschakeling van de anti-legionella cyclus.

Wat is inmiddels jullie beste optie om de communicatie met de pomp op te pakken ?
Mijn voorkeur gaat uit naar het uitlezen van de WIFI communicatie tussen de WIFI module in de pomp en de router die Techneco geplaatst heeft, dus overhevelen naar het eigen netwerk.

Acties:
  • 0 Henk 'm!

  • pf1
  • Registratie: Augustus 2018
  • Laatst online: 03-02 15:46

pf1

Ook hier terecht gekomen bij zoeken naar opties om de Toros Vision beter in te stellen. Weet niet of dit onderwerp nog actief is, maar toch even reageren.
Had zelf al de lijst met parameters die via chronotherm thermostaat ingesteld kunnen worden. Hier kan je bijvoorbeeld de uren tussen legionella aanpassen, zodat deze naar beter tijdstip (overdag) verschuift of stooklijn aanpassen en meer.

Na lezen van de informatie in dit forum microcom programma geinstalleerd op PC en USB kabel aangesloten Communicatie werkt. Bedankt iedereen!
De instelling voor de bijschakelen elektrisch element iets aangepast zodat deze wat minder snel inschakelt.

Volgende stap is de data uit te gaan lezen (python script). Heeft iemand hier ervaring mee ? Wat hulp of voorbeeld is welkom.

Acties:
  • 0 Henk 'm!

  • BouwLuster
  • Registratie: December 2020
  • Laatst online: 25-06 15:30
Op zoek naar een app om de verbinding met een Techneco warmtepomp te maken, kwam ik op dit forum. Hier wordt Honeywell wifiremo genoemd, maar die app bestaat niet meer. Onze buren hebben bij hun verhuizing per ongeluk de Techneco router opgestuurd samen met KPN modem. KPN kan deze niet meer terugvinden. Zoals jullie al melden is Techneco overgenomen door Remeha en sindsdien is er geen support meer voor particulieren. De Techneco warmtepomp is in 2015 geïnstalleerd, zonder EVA. De diverse fouten van de installateur heb ik prima kunnen oplossen met Techneco. Omdat mijn installateur geen verstand heeft van ICT had ik indertijd prima contact met Techneco. Maar Remeha kent mijn installateur niet.
Ik wil dus nu de wifi module zelf instellen zodat deze verbindt met mijn SSID van mijn eigen router. Zodat de warmtepomp de data weer naar de Remeha server (nu tomos.remeha.nl) kan sturen. Ik ben op de hoogte van de DIP-switch 1 om de wifi module in AP mode te zetten.

Acties:
  • 0 Henk 'm!

  • Snoeikoe
  • Registratie: Augustus 2016
  • Laatst online: 24-06 21:21
@BouwLuster ik zal je even PM sturen. De app bestaat inderdaad niet meer in de Play Store maar ik heb de installer gedownload (op tijd). Die kan ik je sturen.

[ Voor 3% gewijzigd door Snoeikoe op 05-06-2024 15:17 ]


Acties:
  • 0 Henk 'm!

  • BouwLuster
  • Registratie: December 2020
  • Laatst online: 25-06 15:30
@Snoeikoe Dat is mooi, alvast bedankt. Ik heb alleen Android (en Windows) apparaten, dus geen iDingen zoals iPhone, iPad, iRack ;)
Maar hoe configureert Remeha dan tegenwoordig de wifi module?

Acties:
  • 0 Henk 'm!

  • BouwLuster
  • Registratie: December 2020
  • Laatst online: 25-06 15:30
Inmiddels is er een Remeha monteur geweest om weer een nieuwe router te brengen en in te stellen. Tegenwoordig installeren ze een kleine access point, de TP-Link TL-WR802N https://www.tp-link.com/n...ng/wifi-router/tl-wr802n/. Deze is met een UTP-kabel aangesloten op het netwerk van mijn buurman (omdat zijn modem in de centrale meterkast staat). Dat is een FRITZ!Box 4040, dus ik heb de kabel aangesloten op poort 4, dat is de poort die voor een guest network gebruikt kan worden. Daardoor zit de warmtepomp-router nu niet meer op het privé netwerk van mijn buurman, maar kan die wel naar het Internet.
En mijn (en anderen?) gemopper over het totaal ontbreken van beveiliging van de router heeft kennelijk toch wat indruk gemaakt, want ze veranderen nu het standaard admin wachtwoord. De wifi-module van de warmtepomp werd nog wel met een app op een smartphone geconfigureerd, maar ik kon niet zien welke. De monteur zei dat deze alleen beschikbaar is voor Remeha-monteurs.
De betreffende monteur had behoorlijk kennis van ICT en bleek (vanwege de keren dat hij gebeld werd door collega's) een technische vraagbaak te zijn. Hij zei ook dat hij dat als hobby had, werkte bijvoorbeeld ook met Home Assistant, maar niet met de Toris Vision warmtepomp (omdat die daar niet geschikt voor was...).

Acties:
  • 0 Henk 'm!

  • Deem007492
  • Registratie: Januari 2002
  • Laatst online: 12-06 22:53
Hoi Toros gebruikers. Sinds kort zijn wij ook eigenaar van een Toros warmtepomp. Helaas is het zoals jullie weten een grote blackbox.
Mag Remeha eigenlijk wel deze data waarvan wij eigenaar zijn voor zichzelf houden? Kunnen we niet eisen dat Remeha ons toegang moet geven tot de verzamelde data of alle gewonnen data aan ons verstrekt in een leesbaar format?

Verder nog een vraag @Snoeikoe. Kun je met de app die jij had gedownload de data bekijken? Graag ontvang ik dan een kopie. Bij voorbaat hartelijk dank.

Op welke andere manier kunnen we de data bekijken?

Dit heb ik ook al gevonden. Ben er alleen nog niet aan toegekomen. https://github.com/borft/py-remeha?tab=readme-ov-file

Acties:
  • 0 Henk 'm!

  • geertg
  • Registratie: Juni 2010
  • Laatst online: 25-06 09:41
Ik volg dit topic ook met interesse, maar heb niet veel tijd om aan dit project te knutselen. Maar frustrerend dat deze data niet toegankelijk is inderdaad. De code in die github repo lijkt me alleen bruikbaar als je toegang hebt tot het data portal van remeha en als ik me niet vergis is daarvoor een monteur / service account bij remeha nodig en dat is niet beschikbaar voor individuele klanten. Maar mocht iemand wel een route weten, laat het weten !

Acties:
  • 0 Henk 'm!

  • Hometec
  • Registratie: Juli 2024
  • Laatst online: 25-06 17:03
Goedenavond,

Ook ik heb een Remeha Toros en zou deze graag willen intregreren in Home assistant.
Ik maak gebruik van het Tomos platform en dit werkt prima voor het uitlezen en wijzigen van parameters maar je kunt hem niet aansturen zo ver ik weet.

Ik ben zelf installateurs heb contact gezocht met Remeha over de vermeende API en de Modbus aansluiting.

Hun antwoord op de modbus aansluiting:

hierbij ontvangt u de beschikbare informatie over ModBus aansluiting op de Toros Vision.
Remeha kan hier verder geen ondersteuning op geven;


ModBus zit erop vanaf Firmwareversie C30.02, dus mogelijk is er wel een firmware update nodig.
De standaard instellingen zijn:
Address: 1 (Microcom 0x422A of 0x82CD)
Baud rate: 19200 (Microcom 0x4243 of 0x82CE)
Parity: 8N1 (Microcom 0x424C of 0x82CF)

Deze parameters zijn eventueel via Microcom te wijzigen.

De connector die je voor ModBus gebruikt is X9.
image002.png
Verder ook nog gevonden;
Inprincipe leveren wij geen modbus assistentie, omdat we de kennis hier niet van hebben.
Een collega heeft wel nog een document gevonden waar de gevraagde gegevens in staan, maar of alles klopt en of het intussen nog op deze manier werkt is voor eigen risico van de klant en gaan wij als remeha ook geen ondersteuning op leveren.
Bijgevoegd het gevraagde scherm en hieronder wat in 2019 de werkwijze was die wij dus niet hebben kunnen valideren.
__

Outside air temperature via Microcom / Modbus and OpenTherm.

Outside air temperature can be retrieved by several ways:
From Onboard sensor connected to X3.1
PAR201ENUM_OutsideTempSource has to be set to 1.
If onboard sensor is not connected, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is returned to communication interfaces.
If onboard sensor is shorted or disconnected, the Error 48 is generated. Outside air temperature is not internally used, except OTC setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is returned to communication interfaces instead. Error 48 is automatically cleared if sensor is connected.
From Microcom / Modbus communication interface
PAR201ENUM_OutsideTempSource has to be set to 2. Outside air temperature has to written to variable 0x35F7 at least every PAR202HOUR_OutsideTempTimeout hours. Otherwise Error 48 is generated. Valid range from -40 to +127 °C.
In case of Error 48, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is also returned to communication interfaces instead. Error 48 is automatically cleared if valid information about Outside air temperature is received.
From OpenTherm communication interface
PAR201ENUM_OutsideTempSource has to be set to 3. Outside air temperature has to written to OpenTherm ID27 at least every PAR202HOUR_OutsideTempTimeout hours. Otherwise Error 48 is generated. Valid range from -40 to +127 °C.
In case of Error 48, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is also returned to communication interfaces instead. Error 48 is automatically cleared if valid information about Outside air temperature is received.
Note: if Outside air temperature is written from communication interface, which is not selected by PAR201ENUM_OutsideTempSource, the written value is rejected.
Related Microcom / Modbus parameters
Class 7 ID
Name
meaning
unit
min
max
default
0x81C9
PAR201ENUM_OutsideTempSource
Outside temperature source selection (1=Onboard; 2=Modbus; 3=OpenTherm)
enumeration
1
3
1
0x81CA
PAR202HOUR_OutsideTempTimeout
Outside temperature timeout
hour
1
255
24
0x81DC
PAR220BF_CompProtection
Compressor protection for heating (BIT0=derived from evaporator inlet temperature; BIT1=derived from outside air temperature)
Bit field
0
3
0
0x81E0
PAR224S_EndSetpointLimit
Setpoint end limitation curve (for compressor protection during heating)
°C
10
90
30
0x8263
PAR355S_OTCmissingT
Outside temperature to be used with missing/wrong sensor
°C
-20
+30
-1

Related Microcom / Modbus variables
Class
R/W
ID
Name
Unit
Valid range
4
R W
0x35F7
Outside air temperature
tenth of °C
from -40 to +127 °C in case of write

Related OpenTherm IDs
Nr.
Msg
Type
Description
Implementation notes
27
R W
f8.8
Outside air temperature (°C)
Returns outside temperature. In case of sensor error returns DATA-INVALID. Temperature is limited to range from -40 to +127 °C.
Write attempt returns UNKNOWN-DATAID if it is outside of range from -40 to +127 °C or if it is not configured to receive outside temperature from OpenTherm. It is necessary to write outside temperature regularly (at least every 24 hours) if configured to receive outside temperature from OpenTherm.

Usage of Outside air temperature
Usage
Behavior in case there is no valid information about Outside air temperature
Standard setpoint calculation
No compensation
Room setpoint calculation
PAR355S_OTCmissingT is used instead
Automatic switching between heating and cooling.
Not executed
Inhibition of heating if outside air temperature is too high.
Not executed
Inhibition of cooling if outside air temperature is too low.
Not executed
Reading of OpenTherm ID27 Outside air temperature
Returns DATA_INVALID
Reading of Microcom Class 4 ID 0x35F7
Returns PAR355S_OTCmissingT
Electrical heaters
Not affected/disabled
Compressor protection during heating.
If PAR220BF_CompProtection BIT1 is set AND if condenser temperature is bigger than PAR224S_EndSetpointLimit, Error 60 is generated, and HP is blocked. Affects both central heating and domestic hot water.


hierbij ontvangt u de beschikbare informatie over ModBus aansluiting op de Toros Vision.
Remeha kan hier verder geen ondersteuning op geven;


ModBus zit erop vanaf Firmwareversie C30.02, dus mogelijk is er wel een firmware update nodig.
De standaard instellingen zijn:
Address: 1 (Microcom 0x422A of 0x82CD)
Baud rate: 19200 (Microcom 0x4243 of 0x82CE)
Parity: 8N1 (Microcom 0x424C of 0x82CF)

Deze parameters zijn eventueel via Microcom te wijzigen.

De connector die je voor ModBus gebruikt is X9.
image002.png
Verder ook nog gevonden;
Inprincipe leveren wij geen modbus assistentie, omdat we de kennis hier niet van hebben.
Een collega heeft wel nog een document gevonden waar de gevraagde gegevens in staan, maar of alles klopt en of het intussen nog op deze manier werkt is voor eigen risico van de klant en gaan wij als remeha ook geen ondersteuning op leveren.
Bijgevoegd het gevraagde scherm en hieronder wat in 2019 de werkwijze was die wij dus niet hebben kunnen valideren.
__

Outside air temperature via Microcom / Modbus and OpenTherm.

Outside air temperature can be retrieved by several ways:
From Onboard sensor connected to X3.1
PAR201ENUM_OutsideTempSource has to be set to 1.
If onboard sensor is not connected, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is returned to communication interfaces.
If onboard sensor is shorted or disconnected, the Error 48 is generated. Outside air temperature is not internally used, except OTC setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is returned to communication interfaces instead. Error 48 is automatically cleared if sensor is connected.
From Microcom / Modbus communication interface
PAR201ENUM_OutsideTempSource has to be set to 2. Outside air temperature has to written to variable 0x35F7 at least every PAR202HOUR_OutsideTempTimeout hours. Otherwise Error 48 is generated. Valid range from -40 to +127 °C.
In case of Error 48, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is also returned to communication interfaces instead. Error 48 is automatically cleared if valid information about Outside air temperature is received.
From OpenTherm communication interface
PAR201ENUM_OutsideTempSource has to be set to 3. Outside air temperature has to written to OpenTherm ID27 at least every PAR202HOUR_OutsideTempTimeout hours. Otherwise Error 48 is generated. Valid range from -40 to +127 °C.
In case of Error 48, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is also returned to communication interfaces instead. Error 48 is automatically cleared if valid information about Outside air temperature is received.
Note: if Outside air temperature is written from communication interface, which is not selected by PAR201ENUM_OutsideTempSource, the written value is rejected.
Related Microcom / Modbus parameters
Class 7 ID
Name
meaning
unit
min
max
default
0x81C9
PAR201ENUM_OutsideTempSource
Outside temperature source selection (1=Onboard; 2=Modbus; 3=OpenTherm)
enumeration
1
3
1
0x81CA
PAR202HOUR_OutsideTempTimeout
Outside temperature timeout
hour
1
255
24
0x81DC
PAR220BF_CompProtection
Compressor protection for heating (BIT0=derived from evaporator inlet temperature; BIT1=derived from outside air temperature)
Bit field
0
3
0
0x81E0
PAR224S_EndSetpointLimit
Setpoint end limitation curve (for compressor protection during heating)
°C
10
90
30
0x8263
PAR355S_OTCmissingT
Outside temperature to be used with missing/wrong sensor
°C
-20
+30
-1

Related Microcom / Modbus variables
Class
R/W
ID
Name
Unit
Valid range
4
R W
0x35F7
Outside air temperature
tenth of °C
from -40 to +127 °C in case of write

Related OpenTherm IDs
Nr.
Msg
Type
Description
Implementation notes
27
R W
f8.8
Outside air temperature (°C)
Returns outside temperature. In case of sensor error returns DATA-INVALID. Temperature is limited to range from -40 to +127 °C.
Write attempt returns UNKNOWN-DATAID if it is outside of range from -40 to +127 °C or if it is not configured to receive outside temperature from OpenTherm. It is necessary to write outside temperature regularly (at least every 24 hours) if configured to receive outside temperature from OpenTherm.

Usage of Outside air temperature
Usage
Behavior in case there is no valid information about Outside air temperature
Standard setpoint calculation
No compensation
Room setpoint calculation
PAR355S_OTCmissingT is used instead
Automatic switching between heating and cooling.
Not executed
Inhibition of heating if outside air temperature is too high.
Not executed
Inhibition of cooling if outside air temperature is too low.
Not executed
Reading of OpenTherm ID27 Outside air temperature
Returns DATA_INVALID
Reading of Microcom Class 4 ID 0x35F7
Returns PAR355S_OTCmissingT
Electrical heaters
Not affected/disabled
Compressor protection during heating.
If PAR220BF_CompProtection BIT1 is set AND if condenser temperature is bigger than PAR224S_EndSetpointLimit, Error 60 is generated, and HP is blocked. Affects both central heating and domestic hot water.
hierbij ontvangt u de beschikbare informatie over ModBus aansluiting op de Toros Vision.
Remeha kan hier verder geen ondersteuning op geven;


ModBus zit erop vanaf Firmwareversie C30.02, dus mogelijk is er wel een firmware update nodig.
De standaard instellingen zijn:
Address: 1 (Microcom 0x422A of 0x82CD)
Baud rate: 19200 (Microcom 0x4243 of 0x82CE)
Parity: 8N1 (Microcom 0x424C of 0x82CF)

Deze parameters zijn eventueel via Microcom te wijzigen.

De connector die je voor ModBus gebruikt is X9.
image002.png
Verder ook nog gevonden;
Inprincipe leveren wij geen modbus assistentie, omdat we de kennis hier niet van hebben.
Een collega heeft wel nog een document gevonden waar de gevraagde gegevens in staan, maar of alles klopt en of het intussen nog op deze manier werkt is voor eigen risico van de klant en gaan wij als remeha ook geen ondersteuning op leveren.
Bijgevoegd het gevraagde scherm en hieronder wat in 2019 de werkwijze was die wij dus niet hebben kunnen valideren.
__

Outside air temperature via Microcom / Modbus and OpenTherm.

Outside air temperature can be retrieved by several ways:
From Onboard sensor connected to X3.1
PAR201ENUM_OutsideTempSource has to be set to 1.
If onboard sensor is not connected, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is returned to communication interfaces.
If onboard sensor is shorted or disconnected, the Error 48 is generated. Outside air temperature is not internally used, except OTC setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is returned to communication interfaces instead. Error 48 is automatically cleared if sensor is connected.
From Microcom / Modbus communication interface
PAR201ENUM_OutsideTempSource has to be set to 2. Outside air temperature has to written to variable 0x35F7 at least every PAR202HOUR_OutsideTempTimeout hours. Otherwise Error 48 is generated. Valid range from -40 to +127 °C.
In case of Error 48, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is also returned to communication interfaces instead. Error 48 is automatically cleared if valid information about Outside air temperature is received.
From OpenTherm communication interface
PAR201ENUM_OutsideTempSource has to be set to 3. Outside air temperature has to written to OpenTherm ID27 at least every PAR202HOUR_OutsideTempTimeout hours. Otherwise Error 48 is generated. Valid range from -40 to +127 °C.
In case of Error 48, the Outside air temperature is not internally used, except OTC room setpoint compensation, where PAR355S_OTCmissingT is used instead. The PAR355S_OTCmissingT is also returned to communication interfaces instead. Error 48 is automatically cleared if valid information about Outside air temperature is received.
Note: if Outside air temperature is written from communication interface, which is not selected by PAR201ENUM_OutsideTempSource, the written value is rejected.
Related Microcom / Modbus parameters
Class 7 ID
Name
meaning
unit
min
max
default
0x81C9
PAR201ENUM_OutsideTempSource
Outside temperature source selection (1=Onboard; 2=Modbus; 3=OpenTherm)
enumeration
1
3
1
0x81CA
PAR202HOUR_OutsideTempTimeout
Outside temperature timeout
hour
1
255
24
0x81DC
PAR220BF_CompProtection
Compressor protection for heating (BIT0=derived from evaporator inlet temperature; BIT1=derived from outside air temperature)
Bit field
0
3
0
0x81E0
PAR224S_EndSetpointLimit
Setpoint end limitation curve (for compressor protection during heating)
°C
10
90
30
0x8263
PAR355S_OTCmissingT
Outside temperature to be used with missing/wrong sensor
°C
-20
+30
-1

Related Microcom / Modbus variables
Class
R/W
ID
Name
Unit
Valid range
4
R W
0x35F7
Outside air temperature
tenth of °C
from -40 to +127 °C in case of write

Related OpenTherm IDs
Nr.
Msg
Type
Description
Implementation notes
27
R W
f8.8
Outside air temperature (°C)
Returns outside temperature. In case of sensor error returns DATA-INVALID. Temperature is limited to range from -40 to +127 °C.
Write attempt returns UNKNOWN-DATAID if it is outside of range from -40 to +127 °C or if it is not configured to receive outside temperature from OpenTherm. It is necessary to write outside temperature regularly (at least every 24 hours) if configured to receive outside temperature from OpenTherm.

Usage of Outside air temperature
Usage
Behavior in case there is no valid information about Outside air temperature
Standard setpoint calculation
No compensation
Room setpoint calculation
PAR355S_OTCmissingT is used instead
Automatic switching between heating and cooling.
Not executed
Inhibition of heating if outside air temperature is too high.
Not executed
Inhibition of cooling if outside air temperature is too low.
Not executed
Reading of OpenTherm ID27 Outside air temperature
Returns DATA_INVALID
Reading of Microcom Class 4 ID 0x35F7
Returns PAR355S_OTCmissingT
Electrical heaters
Not affected/disabled
Compressor protection during heating.
If PAR220BF_CompProtection BIT1 is set AND if condenser temperature is bigger than PAR224S_EndSetpointLimit, Error 60 is generated, and HP is blocked. Affects both central heating and domestic hot water.


Afbeeldingslocatie: https://tweakers.net/i/g8Vj8KTTgOewjqax5MNTJg-nIVo=/800x/filters:strip_exif()/f/image/voHG4pQ1wsSyVP3qH6MEt3Kv.png?f=fotoalbum_large

Misschien helpt jullie dit verder om een oplossing te vinden voor het aansturen van de Toros.

Acties:
  • +2 Henk 'm!

  • Kr3Kr
  • Registratie: Maart 2002
  • Laatst online: 07-03 18:12

Kr3Kr

Melpomene

Het is al een tijdje rustig hier, maar nu het weer kouder wordt ben ik voornemens hier weer mee aan de slag te gaan. Het idee: Geen backend-api's, wireshark enz. Maar de UART communicatie tussen de wifi-module van de Toros en de hoofdprint aftappen (X8). Die om te beginnen voeren aan een ESPhome-device die ingesteld staat als 'text sensor'. In de microcom-software (die beschikbaar is/was op de Remeha-site en via dezelfde X8 communiceert) staan zelfs de adressen en manier van encoding van elke parameter:

Afbeeldingslocatie: https://tweakers.net/i/97kUkde1SWs4d5GPJuwe3HKCtXk=/800x/filters:strip_exif()/f/image/w0uSBIVyA3ZEfbeEORVUzNPi.png?f=fotoalbum_large

Dus met een beetje geduld (en ChatGPT) zou het mogelijk moeten zijn om een stuk C++-code te schrijven die alle info die langskomt om te zetten in nette variabelen waar Home Assistant iets mee kan.

Gregor van Egdom Krekr


Acties:
  • 0 Henk 'm!

  • Deem007492
  • Registratie: Januari 2002
  • Laatst online: 12-06 22:53
Wow knap van jou als je dit mogelijk kan maken.💪 Als het werkt dan hoor ik het graag.
Kr3Kr schreef op zondag 29 september 2024 @ 21:09:
Het is al een tijdje rustig hier, maar nu het weer kouder wordt ben ik voornemens hier weer mee aan de slag te gaan. Het idee: Geen backend-api's, wireshark enz. Maar de UART communicatie tussen de wifi-module van de Toros en de hoofdprint aftappen (X8). Die om te beginnen voeren aan een ESPhome-device die ingesteld staat als 'text sensor'. In de microcom-software (die beschikbaar is/was op de Remeha-site en via dezelfde X8 communiceert) staan zelfs de adressen en manier van encoding van elke parameter:

[Afbeelding]

Dus met een beetje geduld (en ChatGPT) zou het mogelijk moeten zijn om een stuk C++-code te schrijven die alle info die langskomt om te zetten in nette variabelen waar Home Assistant iets mee kan.

Acties:
  • 0 Henk 'm!

  • Bert-R
  • Registratie: Januari 2018
  • Laatst online: 24-06 21:18
Ik heb dit topic met veel interesse doorgelezen, maar helaas niet gevonden wat ik zocht. Ik zoek een manier om het gedrag van de warmtepomp te beïnvloeden, zodat ik de tijden waarop hij veel energie gebruikt kan laten samenvallen met de momenten waarop de energie goedkoop is.

Klopt het dat dit nog niemand gelukt is?

Ik dacht dat het misschien een optie was om de thermostaat te vervangen door een Evohome en dan de temperatuur een beetje te variëren, maar nu lees ik hier dat je volgens Remeha geen slimme thermostaat kunt aansluiten. Heeft hier iemand ervaring mee?

Off-topic: iemand die een installateur (in het midden van het land) met Toros Vision-ervaring kan aanbevelen?

Acties:
  • +1 Henk 'm!

  • Kr3Kr
  • Registratie: Maart 2002
  • Laatst online: 07-03 18:12

Kr3Kr

Melpomene

Sikkek schreef op maandag 22 januari 2024 @ 17:32:
Of moeten TX/RX gekruisd aangesloten worden?
Ja die moeten gekruisd worden, met dus ook een pullup op de RX. Sorry voor de late reactie!
Bert-R schreef op dinsdag 24 december 2024 @ 17:10:
Klopt het dat dit nog niemand gelukt is?

Ik dacht dat het misschien een optie was om de thermostaat te vervangen door een Evohome en dan de temperatuur een beetje te variëren, maar nu lees ik hier dat je volgens Remeha geen slimme thermostaat kunt aansluiten. Heeft hier iemand ervaring mee?
Mijn idee daarvoor is dat je aan de "Tele-ingang" van de thermostaat bijv. een ESP met relais kan hangen, waardoor je i.i.g. een hoge en een lage temperatuur op verschillende tijden kunt kiezen. Dit heb ik 'droog' getest door de teleingang kort te sluiten. Nog niet aan toegekomen om er een ESPHome-project voor te maken.

Noodbedrijf aanzetten op een manier die wel werkt
Overigens hadden de buren weer een storing, en kreeg de monteur de pomp niet in het noodbedrijf. Dat is me bij 3 verschillende installaties ook nog nooit gelukt... Pas over een week zou er iemand van Remeha komen. Ondertussen was het 13ºC bij ze.
In de installateurshandleiding staan 3 mogelijkheden om de machine in noodbedrijf te krijgen, maar blijkbaar is er nog een vierde, ongedocumenteerde, die wel werkte: als je met de servicetool (en de kabel) numeriek '255' naar het 'noodbedrijf' register schrijft (dubbel klikken op het invoerveld), dan gaat de machine wel in het noodbedrijf op de gloeispiraal.
Mijn inzicht was; als zij dat kunnen via de 'cloud', dan moet dat via die X8-poort gaan, en als je dat uit kunt lezen met de servicetool kun je het wellicht ook 'schrijven'. >:)

Ook goed om te weten: die service tool werkt bij mij alleen op een gare oude Windows 7 laptop. Moest er vijf proberen voordat ik het werkend had

[ Voor 3% gewijzigd door Kr3Kr op 20-01-2025 23:12 ]

Gregor van Egdom Krekr


Acties:
  • 0 Henk 'm!

  • Kr3Kr
  • Registratie: Maart 2002
  • Laatst online: 07-03 18:12

Kr3Kr

Melpomene

Hometec schreef op vrijdag 12 juli 2024 @ 23:53:
Ik ben zelf installateurs heb contact gezocht met Remeha over de vermeende API en de Modbus aansluiting.

Hun antwoord op de modbus aansluiting:

....

Misschien helpt jullie dit verder om een oplossing te vinden voor het aansturen van de Toros.
Heb dit even door een AI gehaald en krijg dit terug;

IDNameMeaningUnitMinMaxDefault
0x81C9PAR201ENUM_OutsideTempSourceOutside temperature source selection (1=Onboard; 2=Modbus; 3=OpenTherm)Enumeration131
0x81CAPAR202HOUR_OutsideTempTimeoutOutside temperature timeoutHour125524
0x81DCPAR220BF_CompProtectionCompressor protection for heating (BIT0=derived from evaporator inlet temperature; BIT1=derived from outside air temperature)Bit field030
0x81E0PAR224S_EndSetpointLimitSetpoint end limitation curve (for compressor protection during heating)°C109030
0x8263PAR355S_OTCmissingTOutside temperature to be used with missing/wrong sensor°C-2030-1



ClassR/WIDNameUnitValid range
4R/W0x35F7Outside air temperatureTenth of °CFrom -40 to +127 °C in case of write


Bij modbus is een "read input register" operatie 0x04, dus mogelijk dat ID/adres 0x35F7 dan buitentemperatuur is. Die zou je dan kunnen schrijven met operatie 0x06 (write single register).
Dat is een andere manier om de werking van de pomp te beinvloeden: Een 'verkeerde' buitentemperatuur (tijdelijk) doorgeven zodat hij gaat stoken (of juist even niet) als jij dat wilt.

Gregor van Egdom Krekr


Acties:
  • 0 Henk 'm!

  • Bert-R
  • Registratie: Januari 2018
  • Laatst online: 24-06 21:18
Kr3Kr schreef op maandag 20 januari 2025 @ 22:57:
[...]
Mijn idee daarvoor is dat je aan de "Tele-ingang" van de thermostaat bijv. een ESP met relais kan hangen, waardoor je i.i.g. een hoge en een lage temperatuur op verschillende tijden kunt kiezen. Dit heb ik 'droog' getest door de teleingang kort te sluiten. Nog niet aan toegekomen om er een ESPHome-project voor te maken.
[...]
Dat is het fallback scenario waar ik later ook op kwam. Bedankt!

Acties:
  • 0 Henk 'm!

  • pf1
  • Registratie: Augustus 2018
  • Laatst online: 03-02 15:46

pf1

Bert-R schreef op dinsdag 24 december 2024 @ 17:10:
Ik heb dit topic met veel interesse doorgelezen, maar helaas niet gevonden wat ik zocht. Ik zoek een manier om het gedrag van de warmtepomp te beïnvloeden, zodat ik de tijden waarop hij veel energie gebruikt kan laten samenvallen met de momenten waarop de energie goedkoop is.

Klopt het dat dit nog niemand gelukt is?

Ik dacht dat het misschien een optie was om de thermostaat te vervangen door een Evohome en dan de temperatuur een beetje te variëren, maar nu lees ik hier dat je volgens Remeha geen slimme thermostaat kunt aansluiten. Heeft hier iemand ervaring mee?

Off-topic: iemand die een installateur (in het midden van het land) met Toros Vision-ervaring kan aanbevelen?
Met Open Therm Gateway tussen warmtepomp en chronotherm en home assistant kan ik data lezen en bijvoorbeeld warm water setpunt aanpassen, zodat warmtepomp voor warm water voornamelijk draait op uur van de dag dat zon maximaal is.

Acties:
  • 0 Henk 'm!

  • Kr3Kr
  • Registratie: Maart 2002
  • Laatst online: 07-03 18:12

Kr3Kr

Melpomene

pf1 schreef op zaterdag 25 januari 2025 @ 15:27:
[...]


Met Open Therm Gateway tussen warmtepomp en chronotherm en home assistant kan ik data lezen en bijvoorbeeld warm water setpunt aanpassen, zodat warmtepomp voor warm water voornamelijk draait op uur van de dag dat zon maximaal is.
Dat wel, maar de ruimtesetpoint is niet aan te passen.

Gregor van Egdom Krekr


Acties:
  • +3 Henk 'm!

  • Kr3Kr
  • Registratie: Maart 2002
  • Laatst online: 07-03 18:12

Kr3Kr

Melpomene

Ik ben vandaag begonnen met het debuggen van mijn ESPHome-modbus interface. Ik ben erachter gekomen dat (bijna) alle modbusparameters in de Servicetool staan; de microcom-aansluiting is geen RS485, maar het berichtenverkeer is wel Modbus. De 'screens' (*.scr) zijn eigenlijk CSV's van parameters, modbusadressen, datatype enz.
Deze heb ik opgeschoond, de juiste vermenigvuldigheidsfactoren aan toegevoegd (temperaturen zijn vrijwel allemaal in ºC*10 bijv.) en aan een AI gevoerd met de vraag om er een ESPHome-yaml-file voor te maken. Die heb ik nagekeken en ben ik nu aan het debuggen.
De hardware is simpel: elk ESP-board met een (ingebouwde of losse) RS485-interface (3.3V!) zou moeten werken. Ik heb een AI-thinker devboard met een ali-converter in wat ductape gewikkeld;
Afbeeldingslocatie: https://tweakers.net/i/qdSqi7xu0TXl6PQbrSD3M2vRbw0=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/8roUGfMiYq9rihR1UbMNTqG0.png?f=user_large

De ESPHome interface ziet er dan zo uit;
Afbeeldingslocatie: https://tweakers.net/i/3dQ0T8SADcWIMedL4hIOXHUcebg=/800x/filters:strip_exif()/f/image/BL4ArBfyGpxb9rnYhTsBOQSL.png?f=fotoalbum_large

En in Home Assistant:
Afbeeldingslocatie: https://tweakers.net/i/W4VNPdGjiSkO8MBpyEtUqWyMGKM=/800x/filters:strip_exif()/f/image/1rPkxwqXBnZ4dFAJ6tU2Kkha.png?f=fotoalbum_large

Vooralsnog werkt de communicatie niet, omdat ik denk dat er iets met mijn 485-module aan de hand is (termination resistor / flow control).

Daarnaast is de config een eerste aanzet. Veel waardes zullen niet kloppen en met bitmasks 'uit elkaar getrokken' moeten worden.

Hierbij toch alvast de config voor als iemand zelf ook aan de slag wilt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
esphome:
  name: toros-modbus
  friendly_name: Toros Vision Modbus bridge
  min_version: 2024.11.0
  name_add_mac_suffix: false

esp32:
  board: esp32dev
  framework:
    type: esp-idf

# disable logging
logger:
  baud_rate: 0


# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
- platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

web_server:

uart:
  tx_pin: GPIO13
  rx_pin: GPIO14
  baud_rate: 19200

modbus:
  id: modbus1
  flow_control_pin: GPIO27

modbus_controller:
- id: modbus_device
  address: 0x1   ## address of the Modbus slave device on the bus
  modbus_id: modbus1
  setup_priority: -10

output: 
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: uren_noodbedrijf
    address: 0x8282
    register_type: holding    
    value_type: U_WORD
    
sensor:
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: zomer_winter_stand
    name: "Zomer-winter-stand. 0 = winter"
    address: 0x81E6
    register_type: holding
    unit_of_measurement: "boolean"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: actual_error
    name: "Actuale storing"
    address: 0x0032
    register_type: holding
    unit_of_measurement: "integer"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: vergrendeld
    name: "Vergrendeld"
    address: 0x0032
    register_type: holding
    unit_of_measurement: "boolean"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: lage_druk_schakelaar
    name: "Lage druk schakelaar"
    address: 0x30CE
    register_type: holding
    unit_of_measurement: "integer"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: hoge_druk_schakelaar
    name: "Hoge druk schakelaar"
    address: 0x30CE
    register_type: holding
    unit_of_measurement: "integer"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: max_t_cpr
    name: "MaxT CPR"
    address: 0xF12B
    register_type: holding
    unit_of_measurement: "integer"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: max_t_ee
    name: "MaxT EE"
    address: 0xF830
    register_type: holding
    unit_of_measurement: "integer"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: ec1
    name: "EC1"
    address: 0xF12A
    register_type: holding
    unit_of_measurement: "integer"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: ec2
    name: "EC2"
    address: 0xFA70
    register_type: holding
    unit_of_measurement: "integer"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: afgiftesysteem
    name: "Afgiftesysteem(min:sec)"
    address: 0xF37C
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: pompen
    name: "Pompen(min:sec)"
    address: 0xF37A
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: warmtepomp
    name: "Warmtepomp(sec)"
    address: 0xF364
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: cpr_aan_aan
    name: "CPR AAN-AAN (min:sec)"
    address: 0xF37E
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: cpr_uit_aan
    name: "CPR UIT_AAN (min:sec)"
    address: 0xF380
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: cpr_aan_uit
    name: "CPR AAN-UIT(min:sec)"
    address: 0xF382
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tzc_zonnecollector
    name: "TZC ZONNECOLLECTOR"
    address: 0x500B
    register_type: holding
    unit_of_measurement: "temperature"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tbu_buiten_actueel
    name: "TBU BUITEN Actueel"
    address: 0x35F7
    register_type: holding
    unit_of_measurement: "temperature"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: ttw_tapwater
    name: "TTW TAPWATER"
    address: 0x3561
    register_type: holding
    unit_of_measurement: "temperature"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: solarpomp
    name: "Solarpomp [%]"
    address: 0xF3F6
    register_type: holding
    unit_of_measurement: "percentage"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: mengpositie_klep
    name: "Mengpositie klep (%)"
    address: 0x1DB6
    register_type: holding
    unit_of_measurement: "percentage"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tbr_bron_wp_in
    name: "TBR Bron WP IN"
    address: 0x5AAB
    register_type: holding
    unit_of_measurement: "temperature"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

Gregor van Egdom Krekr


Acties:
  • 0 Henk 'm!

  • pf1
  • Registratie: Augustus 2018
  • Laatst online: 03-02 15:46

pf1

Kr3Kr schreef op dinsdag 28 januari 2025 @ 11:59:
[...]

Dat wel, maar de ruimtesetpoint is niet aan te passen.
Inderdaad niet mogelijk. Heb nog "oude" Techneco warmtepomp, waarbij de chronotherm niet als ruimte(woonkamer) thermostaat wordt gebruikt. Iedere ruimte een aparte eenvoudige aan/uit thermostaat. Heb overwogen deze door thermostaat die op afstand in te stellen is te vervangen. Maar besloten om ethernet relais (8 of 16 relais) te plaatsen. Met eerste relais kan ik keuze maken tussen lokale thermostaat of aansturing via home assistant en met tweede relais kan ik (als ik keuze heb gemaakt van sturing via home assistant) deze aan en uit zetten. Bij wegvallen spanning gaat alles terug naar lokale thermostaat sturing.

Maar het plan van uitlezen via ESPhome is nog weer stap verder. Kijk er met interesse naar.

Acties:
  • 0 Henk 'm!

  • JoebarRC
  • Registratie: November 2016
  • Laatst online: 11:46
Kr3Kr schreef op maandag 3 februari 2025 @ 09:45:
Ik ben vandaag begonnen met het debuggen van mijn ESPHome-modbus interface. Ik ben erachter gekomen dat (bijna) alle modbusparameters in de Servicetool staan; de microcom-aansluiting is geen RS485, maar het berichtenverkeer is wel Modbus. De 'screens' (*.scr) zijn eigenlijk CSV's van parameters, modbusadressen, datatype enz.
Deze heb ik opgeschoond, de juiste vermenigvuldigheidsfactoren aan toegevoegd (temperaturen zijn vrijwel allemaal in ºC*10 bijv.) en aan een AI gevoerd met de vraag om er een ESPHome-yaml-file voor te maken. Die heb ik nagekeken en ben ik nu aan het debuggen.
De hardware is simpel: elk ESP-board met een (ingebouwde of losse) RS485-interface (3.3V!) zou moeten werken. Ik heb een AI-thinker devboard met een ali-converter in wat ductape gewikkeld;
[Afbeelding]
Super interessant, ben je nog verder gegaan?. Ik heb net mijn 20 jaar oude toros vision vervangen door een nieuwe toros en heb dus ook dezelfde wensen. Ben aan het wachten op molex connectoren, esp’s en 485 boardjes had ik nog van een pv omvormer project dus wil ook gaan beginnen.

Acties:
  • 0 Henk 'm!

  • borft
  • Registratie: Januari 2002
  • Laatst online: 25-06 13:46
oh wauw, ik lees hier interessante voortgang. Ik heb ook een Toros Vision, en de belachelijk hoge rekeningen van monteurs van Remeha die beginnen me te storen ;) Dus hoe chill zou het zijn om zelf basale dingen te kunnen uitlezen of zelfs aan te kunnen passen!

Acties:
  • +2 Henk 'm!

  • JoebarRC
  • Registratie: November 2016
  • Laatst online: 11:46
Klein stukje verderAfbeeldingslocatie: https://tweakers.net/i/SFAqQXYZE1P31X78rfJTLXo7DfM=/x800/filters:strip_icc():strip_exif()/f/image/7DlWP8sblxI3zSJlGdltW8ly.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/kUsv7Xq5GCnv63-n_Isog5Z_rO8=/x800/filters:strip_icc():strip_exif()/f/image/9YmvyTiTLjOxCQd51a9rqoUe.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/gS_kdVBU6uGM92zZOm1Gz-g2sm0=/x800/filters:strip_exif()/f/image/f3DhL1IARu6YQq7FopRkJFvX.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/MtRRS_YfoniXvug3UwxP7tZm1lc=/800x/filters:strip_icc():strip_exif()/f/image/vbuJTzk4AG19u8JtJsQhZ4Xk.jpg?f=fotoalbum_large

Communicatie werkt, aantal waardes kloppen niet of staan bij verkeerde parameter (ik heb de microcom met simpele AliExpress uart werkend voor controle) maar dit is erg hoopgevend

Acties:
  • +1 Henk 'm!

  • JoebarRC
  • Registratie: November 2016
  • Laatst online: 11:46
Weer stukje verder, de niet correcte waardes bij parameters lag aan de bus zelf. Na wat zitten denken de 120 ohm weerstand op de modbus rs486 interface (weerstand r7 bij mij) weggehaald en alles is nu zoals het hoort. Kan zelfs updaten per sec en de waardes zijn correct. Natuurlijk moeten sommige waardes nog een vertaling krijgen en op dit moment alleen read only waardes.
In de screen files van de microcom tool van Remeha kan je de modbus registers vinden en makkelijk de esp file uitbreiden..
Kijk, zo kom je nog ergens

Acties:
  • +3 Henk 'm!

  • JoebarRC
  • Registratie: November 2016
  • Laatst online: 11:46
Sommige waardes bevatten een high en low bit, bv de kWh waardes.
In ESPHome een lambda berekening moeten doen
code:
1
(x >> 8) &0xFF
om de high bit te krijgen. Nu zijn alle waardes helemaal goed.
Hieronder een dashboard in ha, kan nu ook de setpoint van tapwater en de hysterese (de maxima daling van tapwater) met een slider schrijven naar de WP.
Enige wat niet kan is beïnvloeden wanneer de verwarming aangaat, dat loopt echt via de thermostaat en niet via modbus.. Maar…. Ik kan nu wel bv de set point van tapwater beïnvloeden en bv hoog zetten als de zon schijnt, dan zal de WP tapwater maken..
Voor de rest nog geen ideeen maar dit is al heel leuk

Dit is een compact dashboard, in de uitgebreide versie kan ik nu ook echt parameters aanpassen zoals in de microcom software.. Maar dat is echt voor debuggen en niet voor dagelijkse info

URL="https://tweakers.net/i/aJaFHXv-v5xHysMhBZEOzPO_udc=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/IKJ95lEMkqd3dQTWzb3mC2lL.png?f=user_large",,"1"]Afbeeldingslocatie: https://tweakers.net/i/tI3LM77YdnFPZPAJsIoUiiSxbS0=/x800/filters:strip_exif()/f/image/IKJ95lEMkqd3dQTWzb3mC2lL.png?f=fotoalbum_large[/URL]

Acties:
  • 0 Henk 'm!

  • Bert-R
  • Registratie: Januari 2018
  • Laatst online: 24-06 21:18
Dat is een prachtig resultaat! Kan je delen wat je gebruikt om dit te doen, zowel qua hardware als configuratie?

Acties:
  • +2 Henk 'm!

  • JoebarRC
  • Registratie: November 2016
  • Laatst online: 11:46
Oke, dit is het project tot nu toe, wat nog extra komt is een opentherm module en sketch zodat ik de thermostaat kan beïnvloeden. De modbus kan alles nu aansturen van de warmtepomp behalve de CV onderdelen want de toros heeft zelf geen idee van de temperatuur dat komt van de thermostaat.
Behalve dat is nu wel de toros te beïnvloeden op tapwater, je kan bv als er geen zon is de setpoint dynamisch verlagen zodat er geen tapwater gemaakt wordt en als de zon schijnt dit te verhogen. Werkt erg leuk

Dit is de electronica die gebruikt is, erg simpel, een esp32, een max485 bordje en een IR detector (ik heb er met 1 detector led) voor de kWH meter.

Afbeeldingslocatie: https://tweakers.net/i/NbPCqCfrGP_HSeH5XxXuYToxLN8=/800x/filters:strip_exif()/f/image/PhjgQapg8qAKTFCYrcgBc49a.png?f=fotoalbum_large

Als er geen communicatie is dan de aansluitingen A en B naar de modbus verwisselen. Ik moest ook uiteindelijk de 120ohm weerstand verwijderen, de bus had een te lage weerstand en slechte communicatie

Nu de ESPHome sketch;
Naast de modbus code gebruik ik ook een pulsmeter voor de kWh meter in de toros vision. Die code kan je natuurlijk verwijderen en heb je ook de extra bestanden niet nodig onder 'packages'

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
# Toros Vision warmtepomp interface via Modbus en kWh pulsmeter

esphome:
  name: toros-modbuskwh
  min_version: 2024.11.0
  name_add_mac_suffix: false
  platform: ESP32
  board: nodemcu-32s #esp32dev  

packages:
 basis: !include ./components/basis.yaml
 updates: !include ./components/updates.yaml
 status: !include ./components/status_led.yaml
 pulse: !include ./components/pulse_meter.yaml
 
substitutions:
# Define the GPIO pins
  pulse_pin: GPIO5
  status_led: GPIO2 #D4
  friendly_name: WP Modbus kwh meter


# disable logging
logger:
  baud_rate: 0


# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
- platform: esphome

wifi:
  ssid: "Access Point SSID"
  password: "Access Point wachtwoord"

web_server:

uart:
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 19200

modbus:
  id: modbus1
  flow_control_pin: GPIO4

modbus_controller:
- id: modbus_device
  address: 0x1   ## address of the Modbus slave device on the bus
  modbus_id: modbus1
  setup_priority: -10
  update_interval: 30s
 
# Number (slider) input voor WP settings zoals de tapwater temperatuur
# hiermee kan misschien ook de switch functie gebruikt worden met modbus control om later te toggelen tussen temps bij zon bv.
number:
- platform: modbus_controller #template
  modbus_controller_id: modbus_device
  name: "Gewenste Tapwater temp"
  id: tapwater_setpoint_ha
  address: 0x817A
  register_type: holding
  value_type: U_WORD
  entity_category: config
  icon: mdi:chart-bell-curve
  min_value: 35
  max_value: 55
  step: 1
  mode: slider #box
  lambda: "return x; "
  write_lambda: |-
      return x;  

- platform: modbus_controller #template
  modbus_controller_id: modbus_device
  name: "Tapwater ECO minimum"
  id: tapwater_eco_setpoint_ha
  address: 0x8264
  register_type: holding
  value_type: U_WORD
  entity_category: config
  icon: mdi:chart-bell-curve
  min_value: 30
  max_value: 45
  step: 1
  mode: slider #box
  lambda: "return x; "
  write_lambda: |-
      return x;        
      
- platform: modbus_controller #template
  modbus_controller_id: modbus_device
  name: "Tapwater Max daling temp:"
  id: tapwater_hysterese_ha
  address: 0x817B
  register_type: holding
  value_type: U_WORD
  entity_category: config
  icon: mdi:chart-bell-curve
  min_value: 2
  max_value: 12
  step: 1
  mode: slider #box
  lambda: "return x; "
  write_lambda: |-
      return x;    

sensor:
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: status
    name: "Status WP"
    address: 0x539E
    register_type: holding
    value_type: U_WORD
      
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: zomer_winter_stand
    name: "Zomer-winter-stand. 0 = winter"
    address: 0x81E6
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: actual_error
    name: "Actuale storing"
    address: 0x0032
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: vergrendeld
    name: "Vergrendeld"
    address: 0x0032
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: lage_druk_schakelaar
    name: "Lage druk schakelaar"
    address: 0x30CE
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: hoge_druk_schakelaar
    name: "Hoge druk schakelaar"
    address: 0x30CE
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: max_t_cpr
    name: "MaxT CPR"
    address: 0xF12B
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: max_t_ee
    name: "MaxT EE"
    address: 0xF830
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: ec1
    name: "EC1"
    address: 0xF12A
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: ec2
    name: "EC2"
    address: 0xFA70
    register_type: holding
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: afgiftesysteem
    name: "Afgiftesysteem(min:sec)"
    address: 0xF37C
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: pompen
    name: "Pompen(min:sec)"
    address: 0xF37A
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: warmtepomp
    name: "Warmtepomp(sec)"
    address: 0xF364
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: cpr_aan_aan
    name: "CPR AAN-AAN (min:sec)"
    address: 0xF37E
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: cpr_uit_aan
    name: "CPR UIT_AAN (min:sec)"
    address: 0xF380
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: cpr_aan_uit
    name: "CPR AAN-UIT(min:sec)"
    address: 0xF382
    register_type: holding
    unit_of_measurement: "sec"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1.0


  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tbu_buiten_actueel
    name: "Temp Buitensensor"
    address: 0x35F7
    register_type: holding
    unit_of_measurement: "°C"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: ttw_tapwater
    name: "Tapwater actueel"
    address: 0x3561
    register_type: holding
    unit_of_measurement: "°C"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
  
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tapwater_setpoint
    name: "Tapwater Gewenst"    
    address: 0x817A
    register_type: holding  
    unit_of_measurement: "°C"     
    value_type: U_WORD
    accuracy_decimals: 1
    
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tapwater_eco_setpoint
    name: "Tapwater ECO minimum"    
    address: 0x8264
    register_type: holding  
    unit_of_measurement: "°C"     
    value_type: U_WORD
    accuracy_decimals: 1   
    
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tapwater_hysterese
    name: "Tapwater Max Daling"    
    address: 0x817B
    register_type: holding  
    unit_of_measurement: "°C"      
    value_type: U_WORD
    accuracy_decimals: 1

  - platform: template
    id: tapwater_minimum_ha
    name: "Tapwater minimum temp"
    unit_of_measurement: "°C"
    lambda: "return id(tapwater_setpoint_ha).state - id(tapwater_hysterese).state;"

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: mengpositie_klep
    name: "Mengpositie klep (%)"
    address: 0x1DB6
    register_type: holding
    unit_of_measurement: "%"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 1.0

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tbr_bron_wp_in
    name: "TBR Bron WP IN"
    address: 0x5AAB
    register_type: holding
    unit_of_measurement: "C"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

# de kWh registers bevatten waardes voor 2 parameters. De highbit van het d_WORD is nodig en wordt via de lambda berekend      
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: standby_kwh
    name: "kWh Standby"
    address: 0x5334
    register_type: holding
    unit_of_measurement: "kWh"
    value_type: U_WORD
    lambda: |-
      uint16_t value = x;    
      uint16_t highbit = (value >> 8) & 0xFF;
      return highbit;

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: tapwater_kwh
    name: "kWh Tapwater"
    address: 0x533B
    register_type: holding
    unit_of_measurement: "kWh"
    value_type: U_WORD
    lambda: |-
      uint16_t value = x;    
      uint16_t highbit = (value >> 8) & 0xFF;
      return highbit;    

# warmte kWh zit in de lowbits van het register.       
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: warmte_kwh
    name: "kWh Warmte"
    address: 0x5352
    register_type: holding
    unit_of_measurement: "kWh"
    value_type: U_WORD
    lambda: |-
      uint16_t value = x;    
      uint16_t lowbit = value & 0xFF;
      return lowbit;    

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: actief_koel_kWh
    name: "kWh Koel"
    address: 0x5361
    register_type: holding
    unit_of_measurement: "kWh"
    value_type: U_WORD
    lambda: |-
      uint16_t value = x;    
      uint16_t highbit = (value >> 8) & 0xFF;
      return highbit;    
        
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: passief_koel_kWh
    name: "kWh Koel passief"
    address: 0x535D
    register_type: holding
    unit_of_measurement: "kWh"
    value_type: U_WORD
    lambda: |-
      uint16_t value = x;    
      uint16_t lowbit = value & 0xFF;
      return lowbit;  
  
  
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: totaal_kwh
    name: "kWh Totaal"
    address: 0x6557
    register_type: holding
    unit_of_measurement: "kWh"
    value_type: U_WORD    

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: actief_tap_uren
    name: "Actief Tap Uren"
    address: 0x53C4
    register_type: holding
    unit_of_measurement: "uur"
    value_type: U_WORD   

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: actief_CV_uren
    name: "Actief CV Uren"
    address: 0x5532
    register_type: holding
    unit_of_measurement: "uur"
    value_type: U_WORD   
    
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: actief_koel_uren
    name: "Actief Koel Uren"
    address: 0x5597
    register_type: holding
    unit_of_measurement: "uur"
    value_type: U_WORD   

  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: passief_koel_uren
    name: "Passief Koel Uren"
    address: 0x5567
    register_type: holding
    unit_of_measurement: "uur"
    value_type: U_WORD   
            
# Vertalen van waardes naar tekst                
text_sensor:
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    name: "Status"
    id: status_string
    address: 0x539E
    register_type: holding        
    lambda: |-
      uint16_t value = id(status).state;
      switch (value) {
        case 1: return std::string("Stand-By");
        case 2: return std::string("Passief Tapwater");
        case 4: return std::string("Actief Tapwater voor");
        case 8: return std::string("Passief CV");
        case 16: return std::string("Actief CV voor");
        case 32: return std::string("Passief Koelen");
        case 64: return std::string("Regenereren");
        case 256: return std::string("Noodbedrijf TapW");
        case 512: return std::string("Noodbedrijf CV");
        case 1028: return std::string("Actief TapWater");
        case 1040: return std::string("Actief CV");
        default: return std::string("Unknown");
      }
      return x;
      
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    name: "Seizoen"
    id: seizoen_string
    address: 0x81E6
    register_type: holding        
    lambda: |-
      uint16_t value = id(zomer_winter_stand).state;
      switch (value) {
        case 0: return std::string("Winter");
        case 1: return std::string("Zomer");
        default: return std::string("Unknown");
      }
      return x;


Nu de extra packages;
basis: !include ./components/basis.yaml
updates: !include ./components/updates.yaml
status: !include ./components/status_led.yaml
pulse: !include ./components/pulse_meter.yaml

updates.yaml
code:
1
2
3
4
5
6
7
8
9
10
# OTA configuration #
ota:
  - platform: esphome
    id: ota_esphome
  - platform: http_request
    id: ota_http_request

http_request:
  timeout: 10s
  verify_ssl: false


status_led.yaml
code:
1
2
3
4
5
6
7
light:
  - platform: status_led
    internal: true
    id: led_red
    pin: 
        number: ${status_led}
        inverted: true


basis.yaml
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Basic configuration #
button:
  # Restart the ESP
  - platform: restart
    name: "Restart - WP kWh"

# Sensors for ESP version and WIFI information
text_sensor:
#   # Installed version
#   - platform: template
#     name: "Glow - Installed version"
#     id: glow_version
#     icon: "mdi:label-outline"
#     entity_category: diagnostic
#     lambda: |-
#       return {"${project_version}"};
#     update_interval: 6h
#   # ESPHome version
#   - platform: version
#     hide_timestamp: true
#     name: '${friendly_name} - ESPHome Version'
  # IP address and connected SSID
  - platform: wifi_info
    ip_address:
      name: '${friendly_name} - IP Address'
      icon: mdi:wifi
    ssid:
      name: '${friendly_name} - Connected SSID'
      icon: mdi:wifi-strength-2

sensor:
  # WiFi signal
  - platform: wifi_signal
    name: "${friendly_name} - WiFi Signal"
    update_interval: 120s

# Enable time component to reset energy at midnight
# https://esphome.io/components/time/homeassistant.html
time:
  - platform: homeassistant
    id: homeassistant_time


pulse_meter.yaml
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Pulse meter configuration #

# Enable Home Assistant API
api:
  services:
    - service: reset_total_energy
      then:
        - button.press:
            id: button_reset_total

number:
  # Set the pulse rate of the LED on your meter
  - platform: template
    id: select_pulse_rate
    name: 'Puls rate - imp/kWh'
    optimistic: true
    mode: box
    min_value: 100
    max_value: 10000
    step: 100
    restore_value: yes
    initial_value: 800  

  # Reset total energy to given value
  - platform: template
    id: select_reset_total
    name: 'Reset Value - Total Energy kWh'
    entity_category: config
    optimistic: true
    mode: box
    min_value: 0
    max_value: 1000000
    step: 1
    initial_value: 985  # energie oude WP stond op 617kWh . 985 @28 maart 2025

button:
  # Reset the total energy entity
  - platform: template
    id: button_reset_total
    name: "Reset - Total Energy"
    on_press:
      - pulse_meter.set_total_pulses:
          id: sensor_energy_pulse_meter
          value: !lambda "return id(select_reset_total).state * id(select_pulse_rate).state;"

sensor:
  # Pulse meter
  - platform: pulse_meter
    id: sensor_energy_pulse_meter
    name: '${friendly_name} - Power Consumption'
    unit_of_measurement: W
    state_class: measurement
    device_class: power
    icon: mdi:flash-outline
    accuracy_decimals: 0
    pin: ${pulse_pin}
    internal_filter: 100ms # in theory 800 pulse per kwh, max around 6kWh peak would be 1.33 pulse per second. 1/1.33 = 730ms so starting with 100ms as filter  
    timeout: 1min
    on_raw_value:
      then:
        - light.turn_off:
            id: led_red
        - delay: 0.2s
        - light.turn_on:
            id: led_red
    filters:
      # multiply value = (60 / imp value) * 1000
      # - multiply: 60
      - lambda: return x * ((60.0 / id(select_pulse_rate).state) * 1000.0);
      # Update the sensor with an average every 10th second. See
      - throttle_average: 5s
      - filter_out: NaN
      - timeout: 60s  # sent value will be NaN
      - timeout:
            timeout: 60s
            value: !lambda return 3;      
      - clamp:
         min_value: 1
         max_value: 5500 # max Wh usage, eliminate spikes
         ignore_out_of_range: true     

    total:
      id: sensor_total_energy
      name: '${friendly_name} - Total Energy'
      unit_of_measurement: kWh
      icon: mdi:circle-slice-3
      state_class: total_increasing
      device_class: energy
      accuracy_decimals: 3
      filters:
        # multiply value = 1 / imp value
        # - multiply: 0.001
        - lambda: return x * (1.0 / id(select_pulse_rate).state);
        # Update the sensor once per 0.1 kWh consumed, or every 5th minute, whichever happens sooner.
        - delta: 0.01
        - heartbeat: 60s
      
  # Total day usage
  - platform: total_daily_energy
    id: sensor_total_daily_energy
    name: '${friendly_name} - Daily Energy'
    power_id: sensor_energy_pulse_meter
    restore: true
    unit_of_measurement: kWh
    icon: mdi:circle-slice-3
    state_class: total_increasing
    device_class: energy
    accuracy_decimals: 3
    filters:
      # Multiplication factor from W to kW is 0.001
      - multiply: 0.001

Afbeeldingslocatie: https://tweakers.net/i/SvlVDQlXLeATOnqY0w-bKakwvEI=/x800/filters:strip_exif()/f/image/s0NZ8wBM75SRQbfiTHKZZkop.png?f=fotoalbum_large

[ Voor 100% gewijzigd door JoebarRC op 08-04-2025 12:48 ]


Acties:
  • 0 Henk 'm!

  • The Flying Dutchman
  • Registratie: Mei 2000
  • Laatst online: 18-06 10:22
Mooi gedaan!

Hou er rekening mee dat sommige waarden overflowen (kwh, aantal uren). Maximale waarde is 255. Ik geloof niet dat er ergens bijgeouden wordt hoe vaak de waarde over de kop is gegaan, dus dat zul je zelf moeten doen.

The Flying Dutchman


Acties:
  • 0 Henk 'm!

  • Bert-R
  • Registratie: Januari 2018
  • Laatst online: 24-06 21:18
JoebarRC schreef op dinsdag 8 april 2025 @ 11:08:
Oke, dit is het project tot nu toe...
Dank je voor het delen! Na de zomer verwacht ik meer tijd en ga ik hier in duiken.
Pagina: 1 2 Laatste