Toon posts:

UDP Data ontcijferen Intergas LAN2RF Gateway

Pagina: 1
Acties:
  • 6.733 views

Vraag


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Ik ben al een tijdje bezig met het monitoren van mijn CV via sensoren die gekoppeld zijn aan een Rasberry Pi.

Een van de dingen die ik daarbij gebruik is de Intergas LAN2RF gateway. Dit apparaatje heeft een webservertje aan boord om wat basiszaken uit te lezen van de ketel, maar het ding leest veel meer data uit de ketel en stuurt dat op naar Intergas.

Via een app kun je een account aanmaken en de gegevens delen met een installateur, maar je kunt er zelf niet bij. De oudere versie van de app kon nog wel iets aan live informatie laten zien (CV druk en CV vermogen), maar de nieuwe helemaal niet.

Ik heb op de switch de UTP poort van de gateway gemirrored en een tijdje het verkeer bekeken. Het blijkt dat de gateway iedere zoveel seconde een UDP verbinding opzet met intergasdata.nl op UDP poort 4567. Vervolgens wordt er een payload verstuurd van 40 tot 122 bytes waarna de gateway een acknowledgement terug krijgt.

De payload van de UDP pakketten is niet leesbaar (vrijwel geen leesbare ASCII karakters.). Ik heb, voor het gemak, even een man in de middle gezet, dus de gateway stuurt zijn data nu naar mijn Pi in plaats van naar Intergas.

Helaas lukt het me niet om de bytestream te begrijpen. Wellicht hebben jullie nog ideeen?


Voor zover ik weet kan er geen sprake zijn van (gebruikers-specifieke) encryptie. De verbinding wordt door de gateway opgezet en er wordt alleen een acknowledgement verstuurd. Er is dus geen handshake of iets dergelijks.

De gegevens moeten gekoppeld worden aan mijn account bij Intergasdata.nl. Dat betekent dat de gateway iets van een ID mee moet sturen. Waarschijnlijk is dat de ID van de gateway zelf, of dat van de ketel.

Hieronder een hex dump 65 achtereenvolgens verstuurde payloads. Ik heb geprobeerd om deze steeds te unzippen, maar door geen gebrek aan headers heb ik geen idee welk ZIP formaat hier gebruikt zou kunnen zijn.

Iemand nog suggesties?

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
3df12709c3016fca58a6c8930f2b06247b0ad6caa0a1476733119e837d3c61f50bb5e9295b28a8542ef0be6c10a0f14021114abd60ccd57159f89596dfb7d9ec5d3b9bbcba3c59f19d2a46bde3903947
834d878bbfeb2735159843c2e439326027d515921357937a76c19189023f1aaab423e50aa754a5f910501ad785851078feae1c01517d2f04805f2c1279eac9bbf41a82c4a2c1354e47618e6b60a901e7
7cfa5beb551bdf7233e35d813f74ea1b9c20d13493e34e98ae2515ca6021d348926c7f47d10c78c7aaf20e68f186688b655720ff6da995055e0cbb4aec90ee6ac4d542c8a9921465956b2132019ea945
4b902ba12983aa9e273251c37e9767683dc3593c5118905c9ccc00742b96137984e1e6b0cdfea4a277b3d80c0059c26b0fa736a8794efb42d2168928070d09ecf87ab865e3bb11b5232a578c45597cf46abf7262d93c20602f590a7f96374f35
28eac828e76b42023ad93cb80a2291dde193a2898532bee83d03307ebc8e6468ed2add053bd6bc66f372375d43c5de1fc7571535c8515cc1e0eac3b91c88f49d00dc6758c16968f99792c06491335635780de2968ba573c62bf1d08e9e6bf768
025b7bef9371ef9076a0f4da9a8df6f4a934980bebad5cf0f30331d01441cc57b6d1be3863e3039510594ffa6f69028be78ad367bb0a547e39da2ecef2e3cccef42d48ed08c2c9fec40dd73a9c905f503fa117f2cc537c7bae46862e0f4af081
2d6243165df7b3f5b54f6214721ce405d739f0b2c55b39e6606a46223c44a9e2abeb54e629bf7f4245d0559b1252b1c747c203da5c099a2f760b6156f54838ee519507ca560b455a188957f8c477b19d
c50f87b2b306138081e94f7daa7ad767de298727558fedb707b08b9de53e99b2d01db3fb4f67289ebf58250dfaae6cf3e2bdccb4265f672279f1ba747be46100194fce31bf2f2dda158be2c394b8d8aa
e30ccfb0e2e7416c5a330271ceb40eba05b4baa4b2e6882f1d4f8ea3ebf93fd75f4b8cd8bb9965c20230753f10c6c887a7b48c5bb81e5511b0a38d6a4527c0f2ad29d4fdf248fa9bb7f2cf40123c30ce
9972dfb5218968c4b32d885c399c0258286c4c34940c79487402ff9b9f753ce7ad5e58260d1cf238f93c4010cb94bbb7715b8fccc5119a852edd6b2fc1ec7483e15655a2f75340f6af29b5e8b02b5af55c90404fb539bf4d98fd69b94ca2af08
e58784bb7fe41c331787fa37f4134e23eff56e756b839e5a2a33dee2e15f9a53326f0f717e413373b11cf0b43a69e1d53386afe749767192c7cb8376cb691ceca96be4ff27b1a4b191c20082925e4654d3546cc9531a3ff53c607d90cb6da2c6
fc2bb6ead2b71f501aa8c1fb75970a7720bd451e36aa9829fd00d1eadef263514823dad26b9e726d1cf773c132f3fe2d9c3c35c1be6e4abd47397daeac055875d89d6463b7b678575983495c37aecad8bc58556849a79bbc0f7559cecf6fb316
93e7c0d1ace158e7b845389512371444b51db122f1c11f12d6827ab2b8024f31281e23f50887bca953de68ed8ff5343d839535a56caa3ce970714fa0a2be94645a1d9cad44fde7cc054d7b90df6f7b7f
395c0a183d4b886a9e2b541647458036b86555d42d5ae1525171d0d4524da3d32f3554583d03c6232e593b027d1b7f76190d54fae49436f509921efb1634034859dfe19996b54964783742c9f93177c7
35f1c56d25436fdbcbf6c99d6ed424c7f58858da4df005deff1e7bd444f64dfcaefda9cbcae3e199ffa7ce0ecdf0ec4f64f18df9ac3ea65368d95bcee1efe1e3c98fee9af311c98b4668c469bf3e7a1d
5fb1014cf283f7b2ff4f66545879e0efee21ea8b351685db126ee11317f8448316f606b33473c244fb91240797b522852b3219823b19441dd01e94063d9c05fc007f554384bb7a2a25cb532b7b3f74567d5dd4b0b1bf20a4b87f8dda30fe96b4
2594a1543c5b22c62de590af1615096c4468e6d9fa1f962e35f68ef33b96dcd70346bc0a08a72b91ca30fedfada198206594c953926567276ff46e4b7de922a32cf0bc91857d445939e6d1eaad805ffd6cd2fbbeb9b99715121dbe9679797d28
4323307de0f6c9b5b4e12c4db41286c131095e76be68a4e93f02c7b3d3a2276517710d241d22e0bb52476b82597a4eb222adf7eadc1f981ac4807042f87c79708394b4f0b7f526a6cd193af25887bd5d72e296c57d1a39aec6a39c66922641e2
d8a9c7bd3de4b8700eb5d85871b944b98fff4347c964bd1bd0b73cb7d7f751ca79322b184b145c17aecc2f4cfc16d54f8db2acddab4ea28af20dfc4723ee63b1a3c1cb486fbb7d6453541e5a11a74bdf
83ef6295e38c381883ab2ebeb67ab3ef657995cb92ba1e8f9e8dd4377db8734bfcffe4cbec6f4e2ca99de02c6c157cb1d32c88714459548518b31a256ede7a5fb7c96046200ecef6391c8a778df67f56
6b85f2e400ab7b40135519b000804e244be790ca5bbf4d7a7623db0ae7dbec68a25703a87d845f1f4cf376837d73c269c5a5249ad19713bffac2ea1dc074a74cae7fa77b4ef24dadfec850316001d494
7587d24c1bdcb5e6cd140b70b50accb0ce9bbaedfbf0fdc63de9143f5707c9dcc498293054ed286926200372939d79fe2c3c21eca3a76c815a4dcc593e129e064af4b34c0776f022e4f4a0ca76e5d8e3de982c4c3a59659f1a74c01f1a896319
ec3f477ff5e3d66cf231e251ed1d5782a794a76a5037fe9358ec1d8c53532e4c92271d7a11b5e5288f406b055f416dc4ee7eabb67a91011736949faffda3fa29eff082998798f157a50daccfe0910b86a3de55b476df06f27c55253f9a055e35
163d9003c74c07c246134abada71b204301ba38453ad1a766aa8c7e9884c8b1385da3479ea467ebdbdb967bd0ef16205452f268a62767eeb6a21db755eb2e58309083be947f51c1bbcdee07f4f0f2e4101788e1dbcb03bc19fd20a7f16997145
254cacd1d7fed43366f057500640500c7dbece4e4b14cbaa43140b6c606a11cb75284123650ceef333b3a6a701a22f76ec51f96888ff266bdd77ea7a0a07f1e4b6ccd1f4e63b2c754d598dfe5cc31a7c
86a02fad71d2de8ecfbd86b7b08182ada2b28dfc971bf93b5cc69f6e7033bc8a19d148a769b63cb9a7d49fc148007d7279a295f52e3749388cc0cf4a4e279f8bec97022d37b7e25aeaca35d1b252072a
164ba2ab4df50ee13d99a93db37ed400001ac2f9ac12609806492385869db8f7830794e929a07145c91bad084fcdf604e82ec8104a472143fba98cf1c885e1883078c01e59e233fd95f47a11189c8b6f
d7768aacd7728228fde8d9d2850c7eef1d5e8a63e261c233026d8715678d9eec0f7a5af5ffe152399ece06aa008d981680585ef79b03216bda8be20424f9e2679d50d46461a18eec3e10d75f43b30bfd3e50d666fdf512c8b47c2fa466247a04
3e4b39e9fe4602028091f2d4b2d309d25de0d1aacf183314add7eb2b829697e7ca8432e763610d0e98c4a6356ca43485b5e30309ad4875dfc4033c8dcefc20cc794ac012b74536d7bd4f8477e725e28612a584d15ef4f3b1d6e243c63df7440d
5235edb24caca127eb2c90d324f184610aa47f0211dcdc29e973bb99cb487865907ffadc239073a07bb918629a6dd9db5ffde7bcd307be65a52d96ddb958f1d152383cea0aade749c7dfd30aeaa5d905fd22a569b50bcea93e5851512ab7d623
34606cb0a443af2c8e5c3e4e3da4e2aa527bc2826316be15bbfeb6e9ba95141316202d0273e6aba5c178cb061f429a1f25887577f25506f7795ec919bb9710949ce8e87074b2fc6c376f2cb4a75c91cb
08136493a763b56f3522d50bd35fb8c2eb1e6d4fa825dc2ed77bf28cbbea36321c24d44280faf971753303989b83796f9e33ce122071e39cfbf31bb3b2f5c59da99b71ef36132c66a15128c51bf49b2c
03c998f2775f92f9937073b3ebc664765f6f04ccab3ccefa3d30890229936c477142f443a45843023244bd41d8b6e16dcbd51f16e500f5f611b063b99a76bcd722ec45e2df279cc5889067cc5f79fb0a
1a00cb75310e3fc1f80d227ac89e8279d7cbffee701f4044698dc3ecc7da3b9a7f03b85bcb33106f40b4292d32252700dc185dc21e3f9981a986287965fdc1ce89f775499e3d71ebb4ebee8845507a8ab28540b597893fba321b57b8c6c827b2
333c89f891417648db340d85cf1d110ad0e9892c1a8f19ca151e79400a651eb3c565857fadced51de6dbdc8d6b9ad80922ed384da0c066cd0dfdb09a64b67253df802f52f20c196177123d314cb58613dc89a8edda96437dac9b7f47bc5a519d
e26aaae7005cb134146dc21b410aacd36f02f352617c2bc9bcc06ed208943f6713796d0de132658ca195669e37e6738854d5c6c84a12bb33d17dbb7b76e50f6ed79768195f132fa62fba6fa950f42d7e6da08ded7807d734e0c666740d848f54
149fd6208cb7283c44617ca35f4793199fbda983eadb458628520d4e8d2a385329ffa7fb1150e2cddf5ebd05aef85b437d273139fc0aa11911ffa611526cf4ad4e54833009263f9938526f7fee6d6bd3
1957fc372bf1aa04d90b5146ed267b329d51c6a3b3cc8cfe95280037f3a2f1b9c4fbb786dec82bd55b379a5f7c6d1ebbc187ffe0fa77789393cba693970b6e1a20caa14b58aac02b00eb8a3d19f9352e
4d9cb9dd5ba05855c5ac7a7266250cbb4578fae0eecb5a214518b4c8745690119ac8e3e3942fb6c587d480bfc496e25b0af0726b73d65251a79ecbdf6035f66e29dbf86fb5e94cef68922181aededbbc
91024f0db5066728b8d2268f0aa87e673ca5c2eebe603dfac9a2c0ed0ffce0e5f7c7dbf5fbe34b83e31344adff3bff8a853f4d6ebd0d962722f1a563c2108c8cc16b62951936919effd26b0ad46a93c6d2e057b80332c9f1e9904b635f424481
19f555be20b0e4265991fe3d0133935bf14bbc381480cde8a6a1fe765f831730057d861c0d6789aefb64515699ab742a89c9cd0b5152910308d96eb4d498ad84e9ea2bdf2f9d66c5a61ce8fe992abcf0091ab630405cf3b03f0f5d816be8311b
79f64111f9b60d0a410b3fcdb609eadff7e985a460d8f679c8d91edaa5aecf18124febf921f709a67d2d17be29e074a3d2ef15c2a7c593fff9b0dd0291860f5005d372125abd797f14e6cb05e26cafb2295038ca510d68772f4c291388c47664
0a727539a796554106ebb23468ce6f542ee21189142dbca1c66307eb9d9afe2338a58d24afcd7f003aeed2ea9df59fea157959255b5c62cb1b483534ff4482cfbb1eb7f783eb487fe55ea650d9eaa02d
1c1284d13ba79416cb28efa457b706e1ccbb1f3db9ef22395c8d0ec5ad098a9c629f2d08415ccdc6e5288745ad40e3c032c14cfffe86b92478ebb641ede2510dd865359bac0c1f4062b9d0688d56f213
0efe7936b73511ebd8e8087940937ca1e2f8a4b07869bbfdbfef7846aa77784bcd574cc37f2de1cdb7b5672505101e3e9ec09430d63e9cf5f1454e27b770e0e33ea0b52e3fcc65e44d3e2c464fbeee99
372de3b31480a6338a75ed67fe0eb71e9d75e6f3fb47c3cf8d69e4f1723b7f72ffbd5a4f9696854a01bd23aaafababdbf575ae6cce2bf147ceb26d7ff54f28c71d3cc4c34eaa1f45b64e8db11c7c89b60cdba87740d3cd299a390a6cb6d015ad
792275bbe60869fb31e985e5eaaf5330a8c50bf252a09dce9f7ee2560f348432c56c45737690321c9e33d8f6946a66084331d3f2af0fbbcaf2b43dcc20b69ae9e54fb1a82ec1eb0320739f2f4a70bdfb8992c5abf8aeb3b869a3dc246b29effc
ac0af98fecb7fa21f00735edaf8bbe2355bb184016078cc85be65e4d2481839d57880645ba18a546a569f0a23bcb3c35004976ec8c4f30a1f27ffe7e38e419655d7bb03a0f735a680c20a01c67da8e707019bed62d08247c302cf50dbc39f8e7
7256ef041eddaf8c585808265ea9d851f20efbbd2a638766f32eb47ec7e9f98618ff8dc9cd8f1663f3a657b301ee8fab1f4dcb1b2267d39e2510c00a3311e432a76e4923f23ff00a06dfae3abfd363cd
d6d3a5c43886b71823b4e792ee77e0baa45592bc586ad23eae9504197217c7cae6cfc5fe9ca673b6d0f5fe53a91b3b641a89e065a90d34d9cb056fe269c8d9908ca79e9ad25018027045b11594e2ba20
cedc238e083a5d6b4463f7d1eb2566a5fb589251c26ed5cda12481e981ab020712b0b9615dbacf425e368caebb2c1a66e95f015562b7a07ca278173065781ce4c01d81aca15485a808bf4f305ad55a80
24c90356a1707dd42b3d4c715abc29a82d4902724588b11eee5bf1482a4acf0d5d89d9efe9c7b0029c7d23d8a5c380ab01db523c9805c44393410fcba326f7c2caa50af7394d308b03c44c799e892e070f30ce085489619cf28709a5ff3a5c7b
b2fce0778370689be48ea2a0cb14a7646e32db5671e6cbf0a37527e13b4b8b21dac002f0fca45267e8a0a21106bec942d26ee6a8ccb04dc98f98d79ea5bf97cc0876c4af191953a2a576c9f7ef77ddee028a72c83304f7810b120c4dc6d35475
f275d07cca2e4d5b1b163c72c71bb45ab63a01b7bea767293d3759640fba08bdd1c1778a73d44aabde0bd07cf84f97375bc284b293cd3623f5625659b98a27f82ca0c4d246dbeb389ca13dbc3df0e64fb64d0bce8b06a4275e347f2daca9240f
4967793d3894bcd0867dbca36587313ab1d79e3b277eaeccb28f63c014af4f4ea72b94e6822cdb0f1dc4337ef9805e9706b1a5e905075529db139495474896cd966d1567de3626f74c6480b5cd8e9d2d
f87c48d32966cec26dcd6487059d2a488d07e83d2cecbe07286a362421a97777895d66281cb517048e09a07dbdec7663afcb8485eed1db651fa66e7144b6f58a450c888f86bf44ddebdcc6038b2ea5ce
70f7c00dcc6e890be0ac4634326fb7d084dc6832d27be0c3512f161013e99e25c6e13d3b11b9a940b342eecce3f17d629330e740b428323d633710df658664f288e29da4fc75c5dbaefa45a097ef7806
0ab3fc18ec4cf95688ec1757dfccf5089600b9e3294a975e33471b5a26ea79a42f85ac46fdcc9a568fc0425186eba83cd3071607eb7f9b4efd00ac3c2f40fa3e25bf8083f10e783217caf7cb914510c0e83604f5b34735d6809f072c1a979e8f
0bce2e402a26d7ad83d2bc1b223ff79530a0c0b7d148e55bc6709af8388623612f342a16b1c29d40c6ec97cd2b2c78fdc536a93ba745d779f5ef061e8a3d0281742cf46688bbc409ee4643bf2c1d9fe05ecac5c5aa7ed6b472637c98fcce7002
04f97ed3386db1f417402e736867f4fa3b8b79d1423a69dce13ddd3e19f8eb6595ca87d5f9a7987f342e506ed188d87de46176ebefcb6815f514ae9bfeea0ab6106d40db0414ef15650a19a4617045772c5e0a8772c7e278356898a5e59893da
4e5c75480d893559d55dbd92bbdb20e199ee753f6d026519b6c28ef8e52d8a83d23da05fc11dc022e0ed02e68d6faa432f75f4504c1592956aac840747b118760b25be5b0602358f2757496b2d06aaf9
1d0f587995f23233998274038642051de9182562a517b21db39cf0a7e749c05eb675b07fe2113a08d6b1fd2de5e22a26744b3d2bfc52c153c5b7dfbb7b2b6962c3f003aad8d1501c1625538b1efcdb97
a0c5c0e4b335fff21d43d0b4d4e10c190964709943bb74e3d1633d8bce04aae81cb028d71b78b620a0b792403662411fcd05a74e2cec05df7880a3fb05aeb001ad800a5b0ffbc9e09d206ab387d4c427
4401ec50bafada68f16f8169ee3ab8a868b91c5273d25fe7566d303e52a9374f5d53de2a8d102305cddf579bcf14e0903cadbfeb181f5bbca5e1d3a15dc6ddd40f79a28f3190dd3612f27c9d7f01701e8cd5916f26ef072307a426185c51439f
e8d895ac5a8d1788d8324280ed062a416b296fcac4a91f61806f925efa244757bb2652e36e74e0783b4834c6db3825c29e7c718b6d9326017124433008de76032d02a7d169fb746f650a5fe49ed7d51c3b15f90da28d4fbbc8b45f1ced93e4ad

Beste antwoord (via Blihi op 24-11-2021 08:14)


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Blihi schreef op dinsdag 23 november 2021 @ 21:05:
[...]
De commando's die naar de XTreme gaan zijn wel anders dan degene die jij hierboven noemt. Om de status op te vragen zie ik:

Dus de commando's zijn achtereenvolgens:
code:
1
2
3
S?.a
S2.l
D2.{
De commando's zijn 3 characters lang. De . stelt een onleesbaar teken voor, in dit geval de '\r' carriage return. S? en S2 heb ik ook. D2 zit alleen in de ICX versie van de software. Daarmee krijg je:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
             'fanspeed_set',
             'fanspeed',
             'fan_torque',
             'fan_bridge_temperature',
             'bus_voltage',
             'pumpspeed_set',
             'pumpspeed',
             'pump_flow',
             'pump_bridge_temperature',
             'temp_s0_1',
             'temp_s0_2',
             'stepper_pos_set',
             'stepper_pos'


Dat is wel interessante data, jammer dat de HRE die niet heeft.
Om de statistieken uit de branderautomaat op te vragen, zoals branduren etc. Zie ik de volgende commando's:
[...]
Dus achtereenvolgens:
code:
1
2
3
4
REV
REW@
B?.p
H0.u
Daarvan is alleen H0 relevant. REV/REW/B? zijn software versienummers, etc. H0 geeft je:
code:
1
2
3
4
5
6
7
8
9
10
11
             'Line power connected (hours)',
             'Line power disconnected (number of times)',
             'CH function(hours)', 'DHW function(hours)',
             'Burnerstarts (number of times)',
             'Ignition failed (number of times)',
             'Flame lost (number of times)',
             'Reset (number of times)',
             'Gasmeter_ch',
             'Gasmeter_dhw',
             'watermeter',
             'burnerstarts_dhw'


Bij de HRE krijg je dat met commando HN
En dan kun je nog door de pagina's met parameters scrollen met
code:
1
2
H1.v
H2.w
Staat daar dan nog uitleg bij? Want in de code heten deze parameters alleen "cntr" met een volgnummer. Volgens mij zijn de instellingen uit te lezen met commando V? / V0 / V1, etc. Bij de HRE geeft V? alle instellingen die ook in de handleiding staan weer.

Alle reacties


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15:44
Die payloads zien er zo random uit dat ik vermoed dat er wel degelijk een vorm van encryptie is. Als er geen handshake is kan dat ook met een shared secret zijn.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Intergas biedt ook software aan om de ketel uit te lezen. Dit pakket heet IDS en is geschreven in Python. Met behulp van een seriele kabel of een RF dongle kun je de ketel dan uitlezen. Via een Engelse leverancier van Intergas systemen heb ik de software kunnen downloaden. De gecompileerde python files kun je weer omzetten naar code en dat geeft de volgende informatie:

Er kunnen de volgende datablokken gedownload worden uit de ketel:
1) De 'status'. Dat zijn 32 bytes met daarin:
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
't1',
't2',
't3',
't4',
't5',
't6',
'temp_set',
'fanspeed_set',
'fanspeed',
'fan_pwm',
'opentherm',
'roomtherm',
'tap_switch',
'gp_switch',
'pump',
'dwk',
'gasvalve',
'io_signal',
'spark',
'io_curr',
'displ_code',
'ch_pressure',
'rf_rth_bound',
'rf_rth_communication',
'rf_rth_battery_info',
'rf_rth_battery_ok'

De meeste van deze getallen zijn 2 bytes voor een float (integer/100), sommige zijn 1 bit vlagjes.

2) De 'extra status'. Ook dat zijn 32 bytes met daarin:
code:
1
2
3
4
5
6
7
8
9
10
11
12
'bc_tapflow',
'pump_pwm',
'room_override_zone1',
'room_set_zone1',
'room_temp_zone1',
'room_override_zone2',
'room_set_zone2',
'room_temp_zone2',
'outside_temp',
'OT_master_member_id',
'OT_therm_prod_version',
'OT_therm_prod_type'

In alle gevallen zijn dit 2-byte floats (integer/100).

3) De versie van de branderautomaat. Ook weer 32 bytes met daarin:
code:
1
2
3
4
'Hardware release',
'Software release',
'ROM test 1 checksum',
'ROM test 2 checksum'


4) De branderautomaat CRC. Ook weer 32 bytes met daarin
code:
1
2
3
4
5
6
7
'Interrupt_time',
'Interrupt_load (%)',
'Main_load (%)',
'Net fequency (Hz)',
'Voltage ref. (V)',
'Checksum1',
'Checksum2'


5) De draaiuren. Ook weer 32 bytes met daarin:
code:
1
2
3
4
5
6
7
8
9
10
11
12
'Line power connected (hours)',
'Line power disconnected (number of times)',
'CH function(hours)',
'DHW function(hours)',
'Burnerstarts (number of times)',
'Ignition failed (number of times)',
'Flame lost (number of times)',
'Reset (number of times)',
'Gasmeter_ch',
'Gasmeter_dhw',
'watermeter',
'burnerstarts_dhw'


6) De fouten. Ook weer 32 bytes met foutcodes als string.

7) De parameters. Ook weer 32 bytes met:
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
'HEATER_ON',
'COMFORT_MODE',
'CH_SET_MAX',
'DHW_SET',
'ECO_DAYS',
'COMFORT_SET',
'DHW_AT_NIGHT',
'CH_AT_NIGHT',
'Parameter 1',
'Parameter 2',
'Parameter 3',
'Parameter 4',
'Parameter 5',
'Parameter 6',
'Parameter 7',
'Parameter 8',
'Parameter 9',
'Parameter A',
'Parameter b',
'Parameter C',
'Parameter c',
'Parameter d',
'Parameter E',
'Parameter E.',
'Parameter F',
'Parameter H',
'Parameter n',
'Parameter o',
'Parameter P',
'Parameter r',
'Parameter F.'


8 ) De extra parameters. Een niet nader gespecificeerde lijst strings van willekeurige lengte.

9) Het infoblok. Een string met daarin
code:
1
2
3
4
5
6
7
8
'id_dongle0',
'id_dongle1',
'id_dongle2',
'id_dongle3',
'id_lan0',
'id_lan1',
'id_lan2',
'id_lan3'


10) Een tweede infoblok met daarin:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'Node nr',
         'Cloud id0',
         'Cloud id1',
         'Cloud id2',
         'Rf cloud nr',
         'rssi_lower',
         'rssi_upper',
         'rssi_wait',
         'attention_period',
         'attention_number',
         'ramses_thermostat_idH',
         'ramses_thermostat_idM',
         'ramses_thermostat_idL',
         'ramses_boiler_idH',
         'ramses_boiler_idM',
         'ramses_boiler_idL',
         'Productioncode'


Het ruwe uitlezen gebeurt in een methode die een commando naar de ketel stuurt. Vervolgens wordt er gewacht tot er 24 bytes ontvangen zijn. Afhankelijk van de waarde van byte 5 wordt er nog langer gewacht tot er 40 or 42 bytes ontvangen zijn. Die 24, 40 of 42 bytes worden vervolgens gedecodeerd, waarbij de het eennalaatste byte een checksum is en byte 4 een packet id. Als bytes 14 t/m 22 'ERROR' spellen is er sprake van een foutmelding. In alle andere gevallen worden de 32 bytes vanaf positie 6 doorgestuurd voor decodering zoals hierboven staat.


Dit doet mij vermoeden dat die RF unit dus ook steeds blokken data bij de ketel opvraagt en deze doorstuurt. Sommige frequenter dan andere. Ik zie bijvoorbeeld af en toe wat kleinere pakketten en ook in de app kun je zien dat het aantal branduren bijvoorbeeld niet real-time aangepast wordt, maar slechts af en toe.

Wel realtime is de systeemdruk te volgen en die zit in de status (ch_pressure). Dus in ieder geval die status wordt zeer geregeld verstuurd.

Omdat er gebruik gemaakt wordt van een eenvoudige XOR-Checksum heb ik geprobeerd of in deze data ergens een dergelijke checksum zit (gewoon bruteforce kijken of ik op elk mogelijke substring een checksum waarde kan berekenen volgens de IDS code en kijken of die in de data staat.) Dat is niet het geval.

Ook heb ik geprobeerd om deze byte arrays uit te pakken met Python's ZLIB library waarbij ik de headers uitzet, want er zitten duidelijk geen headers in de data. Ook dat lukt niet.

Het enige wat ik me nog voor kan stellen is dat deze data ge-encrypt is met een vooraf ingestelde key waardoor de ontvanger de data weer kan decrypten. Zolang ik die key niet heb zal dat dus niet lukken.

  • Ben(V)
  • Registratie: December 2013
  • Laatst online: 22:51

All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Die link had ik ook al gevonden, maar zijn code refereert aan het uitlezen via een seriele kabel. Dat is ook mogelijk, maar is slechts een deel van het protocol (alleen de statusvraag).

Acties:
  • 0Henk 'm!

  • johanbarelds
  • Registratie: Mei 2021
  • Laatst online: 18-02 05:41
Ik heb vandaag ook mijn Intergas LAN2RF gateway binnengekregen.
Helaas wil het ding niet koppelen via RF met mijn CV.
Alles gaat volgens de instructies en verloopt goed totdat ik mijn CV moet koppelen door het knopje met het sleuteltje op de CV kort in te drukken. Helaas gebeurd er dan niks en timed mijn app out.
Netwerk verbindingen lijken wel allemaal goed te werken (lampjes 1,2 en 3 branden).
Zie ik iets over het hoofd? Is er een andere truc om de CV via RF te pairen? Iemand een idee?
Thanks!

Gr Johan

Acties:
  • 0Henk 'm!

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
@johanbarelds Ja, dat is even een dingetje. Je moet die LAN2RF gateway eerst even een reset geven. Dat doe je door de voeding er in te doen en dan op het juiste moment de voeding er weer uit te trekken. (vergeef me dat ik even uit mijn hoofd niet weet na hoeveel seconde).

Zodra dat gebeurt is kun je wel pairen. Inderdaad de spanning op de LAN2RF gateway en dan even kort op het sleuteltje.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Blihi schreef op dinsdag 2 maart 2021 @ 14:21:
Die link had ik ook al gevonden, maar zijn code refereert aan het uitlezen via een seriele kabel. Dat is ook mogelijk, maar is slechts een deel van het protocol (alleen de statusvraag).
Ik heb de software van Rick iets aangepast. Hij vraagt nu inderdaad alleen het "status" datablok op. Dat wil ik uitbreiden met informatie uit de andere datablokken. Als ik jouw post vergelijk met de code die ik heb dan mis ik de command strings voor de datablokken 2 "extra status" en 9 "infoblok" . Weet jij welke string je moet sturen om die datablokken op te vragen?

Deze command strings heb ik al gevonden:

1) De 'status': "S?\r"
2) De 'extra status'
3) De versie van de branderautomaat: "REV"
4) De branderautomaat CRC: "CRC"
5) De draaiuren: "HN\r"
6) De fouten: "EN\r"
7) De parameters: "V?\r"
8 ) De extra parameters: "LX?" waarbij X verschillende karakters kan zijn
9) Het infoblok
10) Een tweede infoblok: "B?\r"

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Helaas is het me helemaal nog niet gelukt om met de brander te communiceren via een seriele kabel. Om een of andere reden wil de brander niet reageren.

Ik ga daar nog wel een keer een poging aan wagen.

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:41

ThinkPad

Moderator Wonen & Mobiliteit
Ben voor m'n Goodwe inverter van m'n zonnepanelen ook met iets soortgelijks bezig geweest.

Wat wel handige tools waren zijn:
- CyberChef om makkelijk van hex naar leesbare tekst te gaan e.d.
- HexEd.it data erin plakken en links in de data inspector kijken of je herkenbare dingen ziet

Ik was begonnen in TCP data ontcijferen Goodwe zonnepanelen omvormer maar dat bleek een doodlopend spoor omdat de data toch versleuteld bleek te zijn. Uiteindelijk had iemand gevonden dat via UDP je de data kon opvragen. Dat hebben we verder uitgepluisd en heb ik in Node-RED een parser voor gemaakt om de data op te vragen: ThinkPadd in "GoodWe inverter lokaal uitlezen (USB / WiFi)". Dat eerste topic (TCP) heeft misschien nog wel e.e.a. aan tips van anderen om de boel te ontcijferen.

[Voor 28% gewijzigd door ThinkPad op 23-11-2021 07:53]

Gas besparen door CV-tuning | Elektriciteit besparen
Geen vragen via privébericht die ook via het forum kunnen a.u.b.


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Voor seriele communicatie is ook Serial Port Monitor aan te raden. De 14 dagen trial versie is genoeg om je protocol uit te pluizen. Zo heb ik de communicatie tussen de Duco Network Tool en mijn ventilatiebox opgevangen.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Ik heb deze PL2303 naar TTL gekocht. Aangesloten via een molex stekker dat je op een oude voeding kan vinden. Werkt super.

[Voor 12% gewijzigd door RichieB op 23-11-2021 09:45]


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Ik vermoed dat het ook per ketel anders is en dat die kabels wat kritisch kunnen zijn. Ik heb een aantal van dat soort seriele kabels, maar het is me nog niet gelukt om dit werkend te krijgen. Het werkt wel met de officiele kabel, althans, de Intergas monteur had er geen moeite mee (maar wilde zijn kabel niet achterlaten).

Ik heb nu wat optocouplers besteld en ga nog een keer een printje maken waarmee het hopelijk wel werkt.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Blihi schreef op dinsdag 23 november 2021 @ 08:13:
Voor seriele communicatie is ook Serial Port Monitor aan te raden. De 14 dagen trial versie is genoeg om je protocol uit te pluizen. Zo heb ik de communicatie tussen de Duco Network Tool en mijn ventilatiebox opgevangen.
Ik denk dat dit goed kan werken als je ergens een seriële verbinding hebt lopen die je wilt afluisteren. Bij Intergas heb je die niet tenzij je de officiële software hebt draaien natuurlijk.

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Die officiele software is gewoon online beschikbaar via een Engelse leverancier.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Dank! Om mezelf maar aan te vullen dan:

1) De 'status': "S?\r"
2) De 'extra status': "S2\r"
3) De versie van de branderautomaat: "REV"
4) De branderautomaat CRC: "CRC"
5) De draaiuren: "HN\r"
6) De fouten: "EN\r"
7) De parameters: "V?\r"
8 ) De extra parameters: "LX?" waarbij X verschillende karakters kan zijn
9) Het infoblok: "B2\r"
10) Een tweede infoblok: "B?\r"

Het lijkt erop dat @Blihi in zijn post infoblok en het 2e infoblok heeft omgedraaid. Want in de code heet het infoblock en infoblock2 met precies de inhoud andersom. :+

Dus eigenlijk is het:

9) Het infoblok: "B?\r"
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'Node nr',
         'Cloud id0',
         'Cloud id1',
         'Cloud id2',
         'Rf cloud nr',
         'rssi_lower',
         'rssi_upper',
         'rssi_wait',
         'attention_period',
         'attention_number',
         'ramses_thermostat_idH',
         'ramses_thermostat_idM',
         'ramses_thermostat_idL',
         'ramses_boiler_idH',
         'ramses_boiler_idM',
         'ramses_boiler_idL',
         'Productioncode'


10) Een tweede infoblok: "B2\r"
code:
1
2
3
4
5
6
7
8
'id_dongle0',
'id_dongle1',
'id_dongle2',
'id_dongle3',
'id_lan0',
'id_lan1',
'id_lan2',
'id_lan3'


Edit: bovenstaande is voor de Intergas HRE lijn. Voor de X-lijn (Xtreme/Xource/etc) is er de ICX versie van de software die iets andere command strings en datablokken heeft.

[Voor 6% gewijzigd door RichieB op 23-11-2021 15:35]


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Ik vrees dat ik daar dus de mist in gegaan ben. Ik heb de IDS software gebruikt om de XTreme uit te lezen en niet de ICX software.

Dat ga ik vanavond maar eens uitproberen....

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Ik heb 3 extra commando's toegevoegd aan mijn Intergas Prometheus Exporter. Veel interessante stats erbij! :*)

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Nou, het is gelukt! Dank dat je me op het goede spoor zette om die ICX versie te gebruiken....



De commando's die naar de XTreme gaan zijn wel anders dan degene die jij hierboven noemt. Om de status op te vragen zie ik:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[23/11/2021 20:32:03] Written data (COM4) 
    53 3f 0d 61                                       S?.a             
[23/11/2021 20:32:03] Read data (COM4) 
    42 11 03 0f 14 ec 40 0c 14 ec 0c 0e b6 00 bb 0d   B....ì@..ì..¶.». 
    9d 02 14 ec 81 3e 65 01 00 00 88 20 25 ff 00 ff   ..ì>e...ˆ %ÿ.ÿ 
    20                                                                 
[23/11/2021 20:32:04] Written data (COM4) 
    53 32 0d 6c                                       S2.l             
[23/11/2021 20:32:04] Read data (COM4) 
    00 00 00 ff 00 00 ff 7f ff 7f 00 00 ff 7f ff 7f   ...ÿ..ÿÿ..ÿÿ 
    9d 02 ff ff ff 11 ff ff ff 7c e3 54 ac e4 c9 ec   .ÿÿÿ.ÿÿÿ|ãT¬äÉì 
    d7                                                ×                
[23/11/2021 20:32:04] Written data (COM4) 
    44 32 0d 7b                                       D2.{             
[23/11/2021 20:32:04] Read data (COM4) 
    b0 04 b2 04 08 05 30 10 e6 77 4c 0d 4d 0d 4a 4b   °.²...0.æwL.M.JK 
    f7 11 99 a3 35 d4 51 77 4d 11 37 11 00 00 00 00   ÷.™£5ÔQwM.7..... 
    df                                                ß


Dus de commando's zijn achtereenvolgens:
code:
1
2
3
S?.a
S2.l
D2.{


Om de statistieken uit de branderautomaat op te vragen, zoals branduren etc. Zie ik de volgende commando's:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[23/11/2021 20:52:30] Written data (COM4) 
    52 45 56                                          REV              
[23/11/2021 20:52:30] Read data (COM4) 
    69 63 78 6d 6b 31 20 20 20 2a 50 31 39 30 33 32   icxmk1   *P19032 
    39 2a 56 31 2e 36 32 2d ae d3 51 2c 23 ee dc 11   9*V1.62-®ÓQ,#îÜ. 
[23/11/2021 20:52:30] Written data (COM4) 
    52 45 57 40                                       REW@             
[23/11/2021 20:52:30] Read data (COM4) 
    20 20 20 20 20 6d 63 31 20 2a 50 31 38 30 37 31        mc1 *P18071 
    37 2a 56 31 2e 32 30 2d ad ae 52 51 52 29 ad d6   7*V1.20-­®RQR)­Ö 
    01                                                .                
[23/11/2021 20:52:30] Written data (COM4) 
    42 3f 0d 70                                       B?.p             
[23/11/2021 20:52:31] Read data (COM4) 
    05 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
    00 00 00 00 00 00 00 00 00 aa 14 04 01 00 02 05   .........ª...... 
    ba                                                º                
[23/11/2021 20:52:31] Written data (COM4) 
    48 30 0d 75                                       H0.u             
[23/11/2021 20:52:31] Read data (COM4) 
    41 31 47 00 1a 09 ea 00 4d bb 01 00 01 00 00 00   A1G...ê.M»...... 
    da fc 03 01 59 f7 36 00 e5 e1 04 26 0b 00 00 00   Úü..Y÷6.åá.&.... 
    a9                                                ©


Dus achtereenvolgens:
code:
1
2
3
4
REV
REW@
B?.p
H0.u


En dan kun je nog door de pagina's met parameters scrollen met
code:
1
2
H1.v
H2.w


En dan zijn er nog een heleboel andere pagina's, maar dat komt nog wel een keer ;)

Wat voor mij belangrijk is, is dat het aantal branderstarts verlaagd is. Dat waren er, voordat de monteur van Intergas nieuwe software in de brander deed 45433 voor 1856 branduren. Dus ruim 24 per uur, ofwel maximaal 2.5 minuut stoken voordat de anti-pendelstand er in kwam. Sinds hij geweest is, zijn het er nog 2512 voor 427 branduren, ofwel 5.3 per branduur met een gemiddelde stooktijd van 11.3 minuten per sessie. Dat is al een heel stuk beter.

Het minimum toerental is 1200 toeren en dat klopt met de update en de rookgastemperatuur is bij het stoken zo'n 35 graden, dat is dus extreem efficient.

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:41

ThinkPad

Moderator Wonen & Mobiliteit
Die tekst is een poging van jouw sniffer-software om er wat leesbaars van te maken. Dat lukt niet echt zoals je aan de vreemde tekens e.d. wel ziet. De hex data die je ook hebt gelogged is waar het om gaat.

Je zou zo'n hex reply in hexed.it kunnen stoppen en dan kijken of je ergens herkenbare data (screenshot van de uitleessoftware maken) terugziet. Als je dat hebt ontcijferd kun je kijken of je er een script o.i.d. voor kunt schrijven om het zelf, zonder de fabrikant software uit kunt lezen. Zie ook MarcoC in "TCP data ontcijferen Goodwe zonnepanelen omvormer"

Het handigste is om meerdere replies te pakken en dan te kijken of er bepaalde bytes steeds terugkomen, dat is dan bijv. een header die er altijd voor zit en wellicht halverwege zit dan een waarde die niet zo snel wijzigt (buitentemperatuur in deze situatie bijv.). Volgens mij heeft die CyberChef die ik eerder noemde ook een 'recipe' om van meerdere payloads overeenkomsten te zoeken.

Edit: maar volgens mij was jouw doel meer het uberhaupt kunnen uitlezen van je ketel. Dan is bovenstaande meer iets voor als je de keteldata in domoticasoftware wil integreren o.i.d.

[Voor 41% gewijzigd door ThinkPad op 23-11-2021 21:28]

Gas besparen door CV-tuning | Elektriciteit besparen
Geen vragen via privébericht die ook via het forum kunnen a.u.b.


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
@ThinkPad We hebben de software door een decompiler gehaald. Het is allang duidelijk welke hex data wat betekent.

Acties:
  • Beste antwoord
  • 0Henk 'm!

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Blihi schreef op dinsdag 23 november 2021 @ 21:05:
[...]
De commando's die naar de XTreme gaan zijn wel anders dan degene die jij hierboven noemt. Om de status op te vragen zie ik:

Dus de commando's zijn achtereenvolgens:
code:
1
2
3
S?.a
S2.l
D2.{
De commando's zijn 3 characters lang. De . stelt een onleesbaar teken voor, in dit geval de '\r' carriage return. S? en S2 heb ik ook. D2 zit alleen in de ICX versie van de software. Daarmee krijg je:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
             'fanspeed_set',
             'fanspeed',
             'fan_torque',
             'fan_bridge_temperature',
             'bus_voltage',
             'pumpspeed_set',
             'pumpspeed',
             'pump_flow',
             'pump_bridge_temperature',
             'temp_s0_1',
             'temp_s0_2',
             'stepper_pos_set',
             'stepper_pos'


Dat is wel interessante data, jammer dat de HRE die niet heeft.
Om de statistieken uit de branderautomaat op te vragen, zoals branduren etc. Zie ik de volgende commando's:
[...]
Dus achtereenvolgens:
code:
1
2
3
4
REV
REW@
B?.p
H0.u
Daarvan is alleen H0 relevant. REV/REW/B? zijn software versienummers, etc. H0 geeft je:
code:
1
2
3
4
5
6
7
8
9
10
11
             'Line power connected (hours)',
             'Line power disconnected (number of times)',
             'CH function(hours)', 'DHW function(hours)',
             'Burnerstarts (number of times)',
             'Ignition failed (number of times)',
             'Flame lost (number of times)',
             'Reset (number of times)',
             'Gasmeter_ch',
             'Gasmeter_dhw',
             'watermeter',
             'burnerstarts_dhw'


Bij de HRE krijg je dat met commando HN
En dan kun je nog door de pagina's met parameters scrollen met
code:
1
2
H1.v
H2.w
Staat daar dan nog uitleg bij? Want in de code heten deze parameters alleen "cntr" met een volgnummer. Volgens mij zijn de instellingen uit te lezen met commando V? / V0 / V1, etc. Bij de HRE geeft V? alle instellingen die ook in de handleiding staan weer.

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Thanks. Dat van die punt bedacht ik me gisterenavond laat ook nog inderdaad. Wel vreemd dat er toch consequent ook een vierde karakter geschreven wordt (wat dan dus totaal genegeerd wordt).

Die H1/H2 staat verder geen uitleg bij, maar ze zijn ook niet allemaal 0.

Ja, de instellingen kun je ook uitlezen inderdaad met V?, V0 en V1. Je krijgt dan inderdaad de instellingen die ik al eerder uitgepuzzeld heb door het bij elkaar harken van handleidingen in verschillende talen...

Wat ik nog wil gaan uitproberen is wat P009 nu precies doet. Dat is een verder ongedocumenteerde parameter die instelbaar is van -5 tot +5. De omschrijving is "toestel belasting aanpassing", maar ik heb verder geen idee wat daarmee bedoeld wordt. Ik zou dus eens moeten kijken wat die parameter doet als ik die een uurtje op -5 en dan weer een uurtje op +5 zet. Mijn vermoeden is namelijk dat je daarmee het ventilatortoerental nog verder kunt verlagen.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Blihi schreef op woensdag 24 november 2021 @ 08:19:
Thanks. Dat van die punt bedacht ik me gisterenavond laat ook nog inderdaad. Wel vreemd dat er toch consequent ook een vierde karakter geschreven wordt (wat dan dus totaal genegeerd wordt).
[…]
Dat zal een technisch iets zijn van de seriële communicatie. 4 bytes is 32 bits en wellicht het minimum aantal bits dat je kan versturen ofzo. Of het gaat in blokjes van 16 bits.

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
ThinkPadd schreef op dinsdag 23 november 2021 @ 21:16:
Die tekst is een poging van jouw sniffer-software om er wat leesbaars van te maken. Dat lukt niet echt zoals je aan de vreemde tekens e.d. wel ziet. De hex data die je ook hebt gelogged is waar het om gaat.

Je zou zo'n hex reply in hexed.it kunnen stoppen en dan kijken of je ergens herkenbare data (screenshot van de uitleessoftware maken) terugziet. Als je dat hebt ontcijferd kun je kijken of je er een script o.i.d. voor kunt schrijven om het zelf, zonder de fabrikant software uit kunt lezen. Zie ook MarcoC in "TCP data ontcijferen Goodwe zonnepanelen omvormer"

Het handigste is om meerdere replies te pakken en dan te kijken of er bepaalde bytes steeds terugkomen, dat is dan bijv. een header die er altijd voor zit en wellicht halverwege zit dan een waarde die niet zo snel wijzigt (buitentemperatuur in deze situatie bijv.). Volgens mij heeft die CyberChef die ik eerder noemde ook een 'recipe' om van meerdere payloads overeenkomsten te zoeken.

Edit: maar volgens mij was jouw doel meer het uberhaupt kunnen uitlezen van je ketel. Dan is bovenstaande meer iets voor als je de keteldata in domoticasoftware wil integreren o.i.d.
Het oorspronkelijke doel was inderdaad om de UDP pakketten te vertalen, maar dat lukt niet. Daar zit een of andere encryptie op en die valt niet zomaar uit te lezen.

Met de seriele kabel lukt het wel en die data is vrij eenvoudig om te zetten.

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Nou, we zijn weer een stapje verder.

Voor de XTreme moet je wel degelijk 4 karakters sturen per commando. Bij 3 karakters reageert ie gewoon niet. Dus
code:
1
S?\r
is niet goed, maar
code:
1
S?\ra
wel... Vreemd, maar wellicht ligt het aan mijn code :) Ik ben niet vloeiend in Python.

Ook de vertaling naar temperaturen moet ik nog even naar kijken, want als ik rechtstreeks jouw code gebruik krijg ik negatieve temperaturen.... Dat lijkt me niet correct. Het zal iets te maken hebben met de bytes, maar daar moet ik de IDX versie nog een keer voor decompileren.

[Voor 7% gewijzigd door Blihi op 25-11-2021 23:05]


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
De IDX software stuurt ook maar 3 karakters. Voor het uitlezen van de status zijn er 5 commando's:

code:
1
2
3
4
5
S?\r
SL\r
Sh\r
SH\r
SQ\r


Daar wordt vervolgens aan toegevoegd een datablock met het commando
code:
1
S2\r


En dan het tweede datablock met
code:
1
D2\r


Wel bijzonder dat er zoveel statuscommando's zijn. Enig idee wat het verschil tussen die dingen is? Ze geven allemaal dezelfde getallen terug.

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Wat blijkt, de Intergas software stuurt ook 4 bytes commando's uit. Het laatste byte is een checksum. Zie het volgende stukje code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    def get_crc_serial(self, data):
        msb = 0
        lsb = 0
        for n in data:
            lsb = ord(n)
            cs = lsb ^ msb
            msb = cs

        return chr(cs)

    def Get_serialdata(self, string, expect_return = 1, returnlenght = 32, add_crc = 1):
        if add_crc:
            crc = self.get_crc_serial(string)
            string = string + crc
 ....

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op dinsdag 23 november 2021 @ 23:45:
[...]

Ik heb een Intergas HRE en lees nu de meest interessant parameters wel uit. Gedeeltelijk hier gedocumenteerd (met dank aan @Blihi) en natuurlijk in mijn source code.
Had dit draadje gezien begin dit jaar maar jullie waren opeens _/-\o_ errug snel.
Wat is de definitie van "relatieve modulatie"? De HRE geeft een "Main load %" en ook een fan_pwm en pump_pwm duty cycle percentage. Bij mij geeft een fan_pwm van 8.2% en pump_pwm van 15% een main_load van 25.1%.
Ik heb hier de fan.pwm & fan.speed.
Pomp heeft geen electronische aansturing maar 3 standen.



Het enigste wat ik mis is eigenlijk de rookgastemp.
Krijg jij die met jouw softwarem boven water?

Volgens : https://github.com/Yveaux...aster/openthermdec.js#L42
zou dat : 33: [ function(v) { return [convS16( v ), "exhaust/temp" ] } ],
moeten zijn
Zelf ben ik benieuwd wat de interrupt_time en interrupt_load getallen betekenen bij de Intergas HRE. Iemand hier met diepe CV kennis die dit kan uitleggen?
Wat doen die dan ?

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
Blihi schreef op dinsdag 23 november 2021 @ 21:05:
Nou, het is gelukt! Dank dat je me op het goede spoor zette om die ICX versie te gebruiken....

[Afbeelding]

De commando's die naar de XTreme gaan zijn wel anders dan degene die jij hierboven noemt. Om de status op te vragen zie ik:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[23/11/2021 20:32:03] Written data (COM4) 
    53 3f 0d 61                                       S?.a             
[23/11/2021 20:32:03] Read data (COM4) 
    42 11 03 0f 14 ec 40 0c 14 ec 0c 0e b6 00 bb 0d   B....ì@..ì..¶.». 
    9d 02 14 ec 81 3e 65 01 00 00 88 20 25 ff 00 ff   ..ì>e...ˆ %ÿ.ÿ 
    20                                                                 
[23/11/2021 20:32:04] Written data (COM4) 
    53 32 0d 6c                                       S2.l             
[23/11/2021 20:32:04] Read data (COM4) 
    00 00 00 ff 00 00 ff 7f ff 7f 00 00 ff 7f ff 7f   ...ÿ..ÿÿ..ÿÿ 
    9d 02 ff ff ff 11 ff ff ff 7c e3 54 ac e4 c9 ec   .ÿÿÿ.ÿÿÿ|ãT¬äÉì 
    d7                                                ×                
[23/11/2021 20:32:04] Written data (COM4) 
    44 32 0d 7b                                       D2.{             
[23/11/2021 20:32:04] Read data (COM4) 
    b0 04 b2 04 08 05 30 10 e6 77 4c 0d 4d 0d 4a 4b   °.²...0.æwL.M.JK 
    f7 11 99 a3 35 d4 51 77 4d 11 37 11 00 00 00 00   ÷.™£5ÔQwM.7..... 
    df                                                ß


Dus de commando's zijn achtereenvolgens:
code:
1
2
3
S?.a
S2.l
D2.{


Om de statistieken uit de branderautomaat op te vragen, zoals branduren etc. Zie ik de volgende commando's:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[23/11/2021 20:52:30] Written data (COM4) 
    52 45 56                                          REV              
[23/11/2021 20:52:30] Read data (COM4) 
    69 63 78 6d 6b 31 20 20 20 2a 50 31 39 30 33 32   icxmk1   *P19032 
    39 2a 56 31 2e 36 32 2d ae d3 51 2c 23 ee dc 11   9*V1.62-®ÓQ,#îÜ. 
[23/11/2021 20:52:30] Written data (COM4) 
    52 45 57 40                                       REW@             
[23/11/2021 20:52:30] Read data (COM4) 
    20 20 20 20 20 6d 63 31 20 2a 50 31 38 30 37 31        mc1 *P18071 
    37 2a 56 31 2e 32 30 2d ad ae 52 51 52 29 ad d6   7*V1.20-­®RQR)­Ö 
    01                                                .                
[23/11/2021 20:52:30] Written data (COM4) 
    42 3f 0d 70                                       B?.p             
[23/11/2021 20:52:31] Read data (COM4) 
    05 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
    00 00 00 00 00 00 00 00 00 aa 14 04 01 00 02 05   .........ª...... 
    ba                                                º                
[23/11/2021 20:52:31] Written data (COM4) 
    48 30 0d 75                                       H0.u             
[23/11/2021 20:52:31] Read data (COM4) 
    41 31 47 00 1a 09 ea 00 4d bb 01 00 01 00 00 00   A1G...ê.M»...... 
    da fc 03 01 59 f7 36 00 e5 e1 04 26 0b 00 00 00   Úü..Y÷6.åá.&.... 
    a9                                                ©


Dus achtereenvolgens:
code:
1
2
3
4
REV
REW@
B?.p
H0.u


En dan kun je nog door de pagina's met parameters scrollen met
code:
1
2
H1.v
H2.w


En dan zijn er nog een heleboel andere pagina's, maar dat komt nog wel een keer ;)

Wat voor mij belangrijk is, is dat het aantal branderstarts verlaagd is. Dat waren er, voordat de monteur van Intergas nieuwe software in de brander deed 45433 voor 1856 branduren. Dus ruim 24 per uur, ofwel maximaal 2.5 minuut stoken voordat de anti-pendelstand er in kwam. Sinds hij geweest is, zijn het er nog 2512 voor 427 branduren, ofwel 5.3 per branduur met een gemiddelde stooktijd van 11.3 minuten per sessie. Dat is al een heel stuk beter.

Het minimum toerental is 1200 toeren en dat klopt met de update en de rookgastemperatuur is bij het stoken zo'n 35 graden, dat is dus extreem efficient.
Errug interessant deze acties !
Zat ik al wel n tijdje op te "wachten".
Wilde nog eea zelf toevoegen aan de esp-software van Keesma.
Maar aan de andere kant lijkt het erop dat ik mijn systeem (eindelijk) helder heb. Wil nog een paar (koude) dagen afwachten en dan een roundup op gasbesparen zetten (ook ter goedkeur :9 ).

Ik zag in je plaatje dat de rookgas iets anders is (gelukkig) als S1 (aanvoersensor). Gelukkig want ik was in de veronderstelling dat dat de rookgas was.

Overigens .... de (berekende) retour klopt behoorlijk.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Blihi schreef op vrijdag 26 november 2021 @ 07:57:
Wat blijkt, de Intergas software stuurt ook 4 bytes commando's uit. Het laatste byte is een checksum. Zie het volgende stukje code:
[...]
Dat is dan echt een verschil met de ICX versie voor de Xseries. In de oude/HRE versie zit geen crc:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
    def Get_serialdata(self, string, expect_return=1, returnlenght=32):
        try:
            s1 = serial.Serial(self.comport, 9600, timeout=0.5)
            chars = 0
            loop_etime = 0.1
            timeout = 0.1
            status = []
            if self.bic300test and string[0] == 'S':
                returnlenght = 55
            ch = s1.inWaiting()
            if ch:
                trash = s1.read(ch)
            s1.write(string)

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Wolfram55 schreef op vrijdag 26 november 2021 @ 12:19:
[...]
Het enigste wat ik mis is eigenlijk de rookgastemp.
Krijg jij die met jouw softwarem boven water?
De HRE code heeft geen temperatuur die rookgas heet, alleen t1 t/m t6. Daar hebben anderen namen aan gegeven. Er lijken 3 interne sensoren te zijn: aanvoer, warmwater en retour. Verder kan je ook flow en set uitlezen. Daarbij is flow een berekening van (aanvoer + 2x retour) / 3 en set de doel temperatuur (ingesteld via CV display of Opentherm). Interessant daarbij is dat de HRE op de flow temperatuur stuurt en niet op de aanvoer. Ik heb de CV ingesteld op 50 graden dus de HRE probeert de flow op 50 te houden en gaat uit als die te lang daarboven blijft. Daarbij kan de aanvoer rustig 80 graden worden. Wellicht dat was Intergas aanvoer noemt stiekem de rookgastemperatuur is?
Volgens : https://github.com/Yveaux...aster/openthermdec.js#L42
zou dat : 33: [ function(v) { return [convS16( v ), "exhaust/temp" ] } ],
moeten zijn
Tsja, zij noemen t1 dus exhaust. In het screenshot van @Blihi is te zien dat Intergas het zelf "aanvoer" noemt. Maar hij heeft een Xtreme. Is er ook ergens een screenshot van de HRE software?

[...]
Wat doen die dan ?
Dat is precies mijn vraag. :) interrupt_time staat bij mijn HRE continue op 200 en interrupt_load is opgelopen van 135 gisteren naar 140 vandaag.

[Voor 7% gewijzigd door RichieB op 26-11-2021 14:06]


  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
RichieB schreef op vrijdag 26 november 2021 @ 13:27:
[...]

De HRE code heeft geen temperatuur die rookgas heet, alleen t1 t/m t6. Daar hebben anderen namen aan gegeven. Er lijken 3 interne sensoren te zijn: aanvoer, warmwater en retour. Verder kan je ook flow en set uitlezen. Daarbij is flow een berekening van (aanvoer + 2x retour) / 3 en set de doel temperatuur (ingesteld via CV display of Opentherm). Interessant daarbij is dat de HRE op de flow temperatuur stuurt en niet op de aanvoer. Ik heb de CV ingesteld op 50 graden dus de HRE probeert de flow op 50 te houden en gaat uit als die te lang daarboven blijft. Daarbij kan de aanvoer rustig 80 graden worden. Wellicht dat was Intergas aanvoer noemt stiekem de rookgastemperatuur is?
De HRE heeft drie interne temperatuur sensoren. De eerste twee zitten in het gaszijdige deel van de warmtewisselaar. De derde zit op de warmwaterbuis geklemd. De twee temperatuursensoren in de warmtewisselaar zitten dicht bij de retour beneden en dicht bij de aanvoer boven in het blok.

Beide zijn geen rookgastemperatuur, maar op zich komt degene die onderin het gasblok zit daar nog het dichtst bij.
[...]


Tsja, zij noemen t1 dus exhaust. In het screenshot van @Blihi is te zien dat Intergas het zelf "aanvoer" noemt. Maar hij heeft een Xtreme. Is er ook ergens een screenshot van de HRE software?

[...]


Dat is precies mijn vraag. :) interrupt_time staat bij mijn HRE continue op 200 en interrupt_load is opgelopen van 135 gisteren naar 140 vandaag.
Zover was ik nog niet :)

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op vrijdag 26 november 2021 @ 13:27:
Is er ook ergens een screenshot van de HRE software?
[...]
Donderdag geprobeerd maar kreeg geen reactie van de ketel.
Gebruikte https://www.kiwi-electron...l-serile-kabel-cp2102-381 . Weet niet of dat wat uit maakt?

Had jij geen opto's ertussen zitten ?
Dat is precies mijn vraag. :) interrupt_time staat bij mijn HRE continue op 200 en interrupt_load is opgelopen van 135 gisteren naar 140 vandaag.
:+

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Wolfram55 schreef op zondag 28 november 2021 @ 11:36:
[...]

Donderdag geprobeerd maar kreeg geen reactie van de ketel.
Gebruikte https://www.kiwi-electron...l-serile-kabel-cp2102-381 . Weet niet of dat wat uit maakt?
Die ziet er fysiek hetzelfde uit als mijn kabel. CP2102 is voor 3.3V signalen terwijl PL2303 voor 5V signalen is. Maar dat zou niet moeten uitmaken. Ik had met mijn kabel ook geen succes toen ik de pinnen handmatig had aangesloten. Pas nadat ik de USB kabel aan een molex stekker had vastgemaakt ging het werken.
Had jij geen opto's ertussen zitten ?
Nee, alleen de PL2303 USB kabel en een molex stekker aan de andere kant. De USB stekker zit bij mij in een Raspberry Pi.

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Ik heb wel een schakeling gemaakt met twee 4n25 optocouplers. Zonder die dingen kreeg ik het niet werkend. Deze schakeling:



Hij is symmetrisch, dus aan de ene kant komt de ketel, aan de andere kant de seriele kabel van de PC.

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op zondag 28 november 2021 @ 14:12:
[...]

Die ziet er fysiek hetzelfde uit als mijn kabel. CP2102 is voor 3.3V signalen terwijl PL2303 voor 5V signalen is. Maar dat zou niet moeten uitmaken. Ik had met mijn kabel ook geen succes toen ik de pinnen handmatig had aangesloten. Pas nadat ik de USB kabel aan een molex stekker had vastgemaakt ging het werken.

[...]
Ah ... ok .... dat verklaart wel t eea denk ik.
heb namelijk mijn hele keten (kabel & esp) opnieuw aangemaakt om alles op een esp32 te laten draaien.
Eerst alles geprobeerd na te maken zoals het hier al meer dan n jaar draait, nl met n esp8266.
Werd gek ...... kreeg contact met de ketel maar kreeg vreemde waardes door. 100C hoger ofzo. Niet echt n pijl op te trekken. Ook de druk van de ketel niet ok.
Had extra doupontkabeltje ertussen gezet om van female naar male te gaan. Vond ze er eerlijk gezegd niet heel strak in zitten ....
Heb t toen maar in de hoek gegooid :( .
Maar als ik je zo hoor zou dat wel eens iets kunnen uitmaken.
Nee, alleen de PL2303 USB kabel en een molex stekker aan de andere kant. De USB stekker zit bij mij in een Raspberry Pi.
Vindt je dat niet link?

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
Blihi schreef op zondag 28 november 2021 @ 14:48:
Ik heb wel een schakeling gemaakt met twee 4n25 optocouplers. Zonder die dingen kreeg ik het niet werkend. Deze schakeling:

[Afbeelding]

Hij is symmetrisch, dus aan de ene kant komt de ketel, aan de andere kant de seriele kabel van de PC.
Dat is n mooier schemaatje dan die van mij :)

Hoe gemaakt?
En je had ook mooi plaatje gemaakt van je cv-syseem ergens. Hoe had je die gemaakt?

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
Even nog een andere vraag aan jullie.
Sorry dat ik je draadje even kaap @Blihi

Is het mogenlijk om op de bovengenoemde manier die jullie doorlopen hebben ook de thermostaat "uit te lezen"?

Heb nu mijn ketel denk ik "onder controle" maar nog niet tevreden met t hele systeem. Dat ligt dan denk ik vooral aan de thermostaat.
Werd al even door jou (@Blihi en @leonbong in gasbesparen aangekaart vlg mij.
Het te snel opstoken.

Ik los dat nu op door 's morgens het stapsgewijs (per halve graad) op te laten lopen maar het zou mooier zijn om dat "gewoon" met bv een ESP32 te doen.

Ik wil niet handmatig aan t begin en einde van het seizoen mijn max. temp (of welke waardes dan ook) moeten aanpassen. Daar zijn apparaten voor.

Of-te-wel ..... wil meer controle over mijn thermostaat O-)

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Omdat nu de CV ketel elektrisch gekoppeld is met de Raspberry Pi? Ik ga er van uit dat Intergas dat ook link vindt en zelf maatregelen heeft genomen in hun elektronica om de te ketel te beschermen. Draait al een jaar prima zo.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Wolfram55 schreef op zondag 28 november 2021 @ 15:14:
[...]
Is het mogenlijk om op de bovengenoemde manier die jullie doorlopen hebben ook de thermostaat "uit te lezen"?
[...]
Wat voor thermostaat gebruik je? Is die aan/uit of Opentherm? Indien het laatste dan kan je via de "temp_set" in het status bericht uitlezen om hoeveel warmte je thermostaat vraagt. Is "temp_set" 0 dan is er geen vraag vanuit de thermostaat. Als je een aan/uit thermostaat hebt dan zal "temp_set" waarschijnlijk tijdens warmtevraag altijd de max temperatuur zijn die je voorop het display van de CV hebt ingesteld.

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op zondag 28 november 2021 @ 16:49:
[...]

Omdat nu de CV ketel elektrisch gekoppeld is met de Raspberry Pi? Ik ga er van uit dat Intergas dat ook link vindt en zelf maatregelen heeft genomen in hun elektronica om de te ketel te beschermen. Draait al een jaar prima zo.
Dat begreep ik eigenlijk niet van t draadje op circuitsonline (of ben ik in de war met de P1-meter .... ?).
Denk dat er een beveiliging in de originele kabel van hun zit.
Ben te voorzichtig misschien

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op zondag 28 november 2021 @ 16:52:
[...]

Wat voor thermostaat gebruik je? Is die aan/uit of Opentherm? Indien het laatste dan kan je via de "temp_set" in het status bericht uitlezen om hoeveel warmte je thermostaat vraagt. Is "temp_set" 0 dan is er geen vraag vanuit de thermostaat. Als je een aan/uit thermostaat hebt dan zal "temp_set" waarschijnlijk tijdens warmtevraag altijd de max temperatuur zijn die je voorop het display van de CV hebt ingesteld.
opentherm
Chronotherm wireless.
Heb aan de ketel ook een OTGW hangen en die geeft de temperatuur die de thermostaat vraagt Zeer handig.

Bedoel je : temperature-setpoint
Die heb ik niet verwerkt op dit moment en hij staat uit dus kan ff niet zien of dat die waarde is.

Dit is wat ik verwerk :


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Wolfram55 schreef op zondag 28 november 2021 @ 17:07:
[...]

Dat begreep ik eigenlijk niet van t draadje op circuitsonline (of ben ik in de war met de P1-meter .... ?).
Denk dat er een beveiliging in de originele kabel van hun zit.
Ben te voorzichtig misschien
Ik heb de P1 poort van mijn slimme meter aangesloten via een officiële "P1-kabel" maar die ziet er precies hetzelfde uit als mijn PL2303 kabel. Het kan natuurlijk dat daar opto couplers in zitten... hij was er duur genoeg voor.
Wolfram55 schreef op zondag 28 november 2021 @ 17:21:
[...]
Bedoel je : temperature-setpoint
"temp-set" is voluit inderdaad "temperature-setpoint".
Die heb ik niet verwerkt op dit moment en hij staat uit dus kan ff niet zien of dat die waarde is.
Waar komt in jouw grafiek de waarde van "setpoint" dan vandaan? Die lijkt op 43 graden te zitten. Wat heb je ingesteld voorop de CV ketel? Met Opentherm kan een thermostaat een lagere temperatuur vragen dan de max ingesteld op de ketel, maar bij mij (voornamelijk radiatoren) gebeurt dat alleen als het buiten vrij warm is.
Dit is wat ik verwerk :
Wat zijn jouw lijnen grillig zeg! Dat duidt volgens mij op meetfouten. Ik lees mijn HRE elke 5 seconden uit en de curves zijn altijd heel smooth:

[Voor 5% gewijzigd door RichieB op 28-11-2021 17:42]


  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op zondag 28 november 2021 @ 17:36:
[...]

Ik heb de P1 poort van mijn slimme meter aangesloten via een officiële "P1-kabel" maar die ziet er precies hetzelfde uit als mijn PL2303 kabel. Het kan natuurlijk dat daar opto couplers in zitten... hij was er duur genoeg voor.
P1-meter heeft bij nader inzien achter die poort inwendig opto's ingebouwd. Althans vlg het draadje van de P1-meter alhier.
Waar komt in jouw grafiek de waarde van "setpoint" dan vandaan? Die lijkt op 43 graden te zitten. Wat heb je ingesteld voorop de CV ketel? Met Opentherm kan een thermostaat een lagere temperatuur vragen dan de max ingesteld op de ketel, maar bij mij (voornamelijk radiatoren) gebeurt dat alleen als het buiten vrij warm is.
Setpoint = parameter E van Intergas
Ik heb idd ook voorbij zien komen dat die omlaag gaat. Laatste tijd, sinds ik hem van de default waarde afgehaald niet meer ...... lijkt althans zo.
[...]

Wat zijn jouw lijnen grillig zeg! Dat duidt volgens mij op meetfouten. Ik lees mijn HRE elke 5 seconden uit en de curves zijn altijd heel smooth:
[Afbeelding]
ik verwerk alles in Node-Red en daar komen/gaan de punten erg regelmatig voorbij.

Dit is n ander plaatje. Hierin zie je controlsetpoint wat de gevraagde temp van de thermostaat is.
Maar daar wil ik dus vooral in de morgen meer controle over.


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Wolfram55 schreef op zondag 28 november 2021 @ 17:51:
[...]
Setpoint = parameter E van Intergas
[...]
Mijn installatiehandleiding van de Intergas HRE zegt over parameter E:
code:
1
2
3
Min. aanvoertemperatuur bij OT (OpenTherm) of RF thermostaat
Default: 40
Instelbereik 10 – 60°C

Dat is dus niet het actuele setpoint maar de minimale temperatuur die door de thermostaat kan worden gevraagd aan de CV. Ik heb die zelf verlaagd naar 25 graden om zuiniger te kunnen stoken.

[Voor 6% gewijzigd door RichieB op 28-11-2021 18:40]


  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op zondag 28 november 2021 @ 18:39:
[...]


Mijn installatiehandleiding van de Intergas HRE zegt over parameter E:
code:
1
2
3
Min. aanvoertemperatuur bij OT (OpenTherm) of RF thermostaat
Default: 40
Instelbereik 10 – 60°C

Dat is dus niet het actuele setpoint maar de minimale temperatuur die door de thermostaat kan worden gevraagd aan de CV. Ik heb die zelf verlaagd naar 25 graden om zuiniger te kunnen stoken.
Inderdaad ... bij mij ook .... 8)
Had hem jaren op default 40° staan, en afgelopen 1,5 jaar op 30°.
Maar had toen erg "last" van low-load en sinds ik c op 25 gezet heb in combinatie met het vermogen op 30 niet meer.

Je ziet dan in t laatste plaatje dat Temp_flow (gele lijn) langer "plakt" aan Setpoint zodra deze die waarde bereikt heeft (in dit geval dus de 43)
Hierdoor loopt Temp_flow veel minder snel op (nadat hij de grens van Setpoint heeft bereikt) zodat hij de grens van +5° boven Setpoint niet bereikt en daardoor dan weer blijft stoken en ..... !!! .... dus niet in low-load valt.

Hierdoor stookte hij ook niet door en haalde eigenlijk niet/nooit de gevraagde temperatuur.

Althans dat was bij mij t geval >:)

[Voor 4% gewijzigd door Wolfram55 op 28-11-2021 19:00]


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Conclusie: “setpoint” in jouw grafiek is niet parameter E. Je ziet die lijn ook naar 0 gaan als er geen warmtevraag is. Parameter E kan minimaal 10 zijn en is constant. Die wordt dus niet opeens 0.

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op zondag 28 november 2021 @ 19:09:
Conclusie: “setpoint” in jouw grafiek is niet parameter E. Je ziet die lijn ook naar 0 gaan als er geen warmtevraag is. Parameter E kan minimaal 10 zijn en is constant. Die wordt dus niet opeens 0.
Het is neem ik aan niet zinvol om E 0 te kunnen instellen want dan doet de ketel niks ...... (?).
Niet kunnen instellen is wat anders dan kunnen worden.

Plaatje ketel in rust met setpoint = 0°


Plaatje ketel stookt met setpoint 43°




Dit was mijn gedrag voordat ik para E op 43 & c op 25 had gezet.



je ziet hier dat zodra Temp_flow 5° boven Setpoint komt de ketel in code1 springt .... in wachtstand (niet meer stookt !! )gaat en daarna op low-load overgaat. Met bijbehorend gedrag dat de ruimtetemperatuur niet gehaald wordt.


Maar heb jij geen low-load dan ...... code1 ?

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 23:31
Het effect van het aanpassen van de parameters is meer iets voor in het CV Tuning draadje. Nogmaals de conclusie dat "setpoint" in jouw plaatje de via Opentherm gevraagde temperatuur is en niet parameter E. In je laatste grafiek loopt het setpoint op van 30 naar 40. Parameter E is een instelling die statisch is.

Ik denk dat je in de 2e grafiek minder gas verbruikt (met parameter E op 30) dan in je 1e grafiek (met parameter E op 43). Dat je dan af en toe lowload (code 1) meldingen krijgt is logisch: je huis heeft minder warmte nodig dan de minimale capaciteit van je CV ketel. Dus gaat die even uit. Ik zie dat trouwens ook in je 1e grafiek terug.

[Voor 30% gewijzigd door RichieB op 28-11-2021 20:37]


  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
@ThinkPad

Zou je alle posts vanaf die van mij om 17:21 willen verplaatsen naar Gas besparen door middel van CV tuning deel III

We gingen hier van t 1 naar t ander en bleven te lang hier

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:41

ThinkPad

Moderator Wonen & Mobiliteit
Wolfram55 schreef op zondag 28 november 2021 @ 20:38:
@ThinkPad

Zou je alle posts vanaf die van mij om 17:21 willen verplaatsen naar Gas besparen door middel van CV tuning deel III

We gingen hier van t 1 naar t ander en bleven te lang hier
offtopic:
Zou ik normaal wel willen, maar er zijn daar rond dezelfde tijden ook berichten gepost. Als ik de posts ga verplaatsten dan gaat het erg raar door elkaar lopen. Ik laat ze dus hier maar staan, vervolgposts kunnen jullie dan daar wel plaatsen :) Een dergelijk verzoek trouwens liever doen via het knopje 'https://tweakers.net/g/forum/images/icons/icon_hand.gif Rapporteer' bovenaan het topic. Dan kunnen mijn twee 'collega' mods het evt. ook oppakken.

Gas besparen door CV-tuning | Elektriciteit besparen
Geen vragen via privébericht die ook via het forum kunnen a.u.b.


  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
RichieB schreef op zondag 28 november 2021 @ 20:33:
Het effect van het aanpassen van de parameters is meer iets voor in het CV Tuning draadje. Nogmaals de conclusie dat "setpoint" in jouw plaatje de via Opentherm gevraagde temperatuur is en niet parameter E. In je laatste grafiek loopt het setpoint op van 30 naar 40. Parameter E is een instelling die statisch is.

Ik denk dat je in de 2e grafiek minder gas verbruikt (met parameter E op 30) dan in je 1e grafiek (met parameter E op 43). Dat je dan af en toe lowload (code 1) meldingen krijgt is logisch: je huis heeft minder warmte nodig dan de minimale capaciteit van je CV ketel. Dus gaat die even uit. Ik zie dat trouwens ook in je 1e grafiek terug.
De gevraagde ruimte temperatuur wordt niet gehaald.



Om 11:30 stop de ketel met stoken.
Met para E op 43 komt hij altijd op de 19.5° en zelfs 0.1° a 0.2° erover.
Met 30° of default 40° never ! Altijd kou lijden.
En mijn gasverbruik is op dit moment minder ..... 10%

Dat hij met low-load zich anders gedraagt kan ik ook niet verklaren.
Ik wijzig parameters en zie dingen ..... aan de hand daarvan trek ik conclusies.

En t zou me overigens niet veel uitmaken want er wordt beter en zuiniger gestookt.

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
@RichieB Zullen/kunnen we zelf onze posts verplaatsen?
Vindt t wel zo handig om alles vanaf 17:21 te doen dan hebben de andere ook benul wat er gezegd is.

[Voor 4% gewijzigd door Wolfram55 op 28-11-2021 21:00]


  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
ThinkPadd schreef op zondag 28 november 2021 @ 20:44:
offtopic:
Zou ik normaal wel willen,.
offtopic:
Ok ... was in de veronderstelling dat alles dan gewoon achteraan kwam.

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Wolfram55 schreef op zondag 28 november 2021 @ 15:04:
[...]


Dat is n mooier schemaatje dan die van mij :)

Hoe gemaakt?
En je had ook mooi plaatje gemaakt van je cv-syseem ergens. Hoe had je die gemaakt?
Microsoft Visio :)

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 18:50
Met custom symbolen?

  • Blihi
  • Registratie: Juni 2018
  • Laatst online: 21:50
Zelf getekende symbolen.

  • jereason
  • Registratie: November 2017
  • Laatst online: 12-03 08:50
Misschien heeft iemand hier nog iets aan.


[Voor 5% gewijzigd door jereason op 05-01-2023 11:19]


  • RobIII
  • Registratie: December 2001
  • Laatst online: 00:43

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Ik zie niet hoe een plug specificatie hier relevant is en waarom dat een topickick van een jaar oud topic zou rechtvaardigen :?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij

Pagina: 1

Dit topic is gesloten.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee