fix initial broadcast scan message

This commit is contained in:
John
2023-10-14 11:59:34 +02:00
parent 8646b0d86c
commit f2a845d462
2 changed files with 9 additions and 14 deletions
+1 -2
View File
@@ -4,8 +4,7 @@
*w,broadcast,,,,FE,,,,,,,,,,,,,,,,,,,,,,,,,, *w,broadcast,,,,FE,,,,,,,,,,,,,,,,,,,,,,,,,,
b,,datetime,date/time,,,0700,,outsidetemp,,D2B,,,°C,time,,BTI,,,,date,,BDA,,,,,,,,, b,,datetime,date/time,,,0700,,outsidetemp,,D2B,,,°C,time,,BTI,,,,date,,BDA,,,,,,,,,
r;b,,id,identification,,,0704,,manufacturer,,UCH,0x06=Dungs;0x0f=FH Ostfalia;0x10=TEM;0x11=Lamberti;0x14=CEB;0x15=Landis-Staefa;0x16=FERRO;0x17=MONDIAL;0x18=Wikon;0x19=Wolf;0x20=RAWE;0x30=Satronic;0x40=ENCON;0x50=Kromschröder;0x60=Eberle;0x65=EBV;0x75=Grässlin;0x85=ebm-papst;0x95=SIG;0xa5=Theben;0xa7=Thermowatt;0xb5=Vaillant;0xc0=Toby;0xc5=Weishaupt;0xfd=ebusd.eu,,device manufacturer,id,,STR:5,,,device id,software,,PIN,,,software version,hardware,,PIN,,,hardware version r;b,,id,identification,,,0704,,manufacturer,,UCH,0x06=Dungs;0x0f=FH Ostfalia;0x10=TEM;0x11=Lamberti;0x14=CEB;0x15=Landis-Staefa;0x16=FERRO;0x17=MONDIAL;0x18=Wikon;0x19=Wolf;0x20=RAWE;0x30=Satronic;0x40=ENCON;0x50=Kromschröder;0x60=Eberle;0x65=EBV;0x75=Grässlin;0x85=ebm-papst;0x95=SIG;0xa5=Theben;0xa7=Thermowatt;0xb5=Vaillant;0xc0=Toby;0xc5=Weishaupt;0xfd=ebusd.eu,,device manufacturer,id,,STR:5,,,device id,software,,PIN,,,software version,hardware,,PIN,,,hardware version
w,,id,identification,,FE,0704,,,,,,,,,,,,,,,,,,,,,,,,, w,,queryexistence,Inquiry of existence,,,07FE,,,,,,,,,,,,,,,,,,,,,,,,,
w,,queryexistence,Inquiry of existence,,FE,07FE,,,,,,,,,,,,,,,,,,,,,,,,,
b,,signoflife,sign of life,,,07FF,,,,,,,,,,,,,,,,,,,,,,,,, b,,signoflife,sign of life,,,07FF,,,,,,,,,,,,,,,,,,,,,,,,,
b,,error,error message,,,FE01,,error,,STR:10,,,,,,,,,,,,,,,,,,,,, b,,error,error message,,,FE01,,error,,STR:10,,,,,,,,,,,,,,,,,,,,,
b,,netresetstate,reset network start,,,FF00,,,,,,,,,,,,,,,,,,,,,,,,, b,,netresetstate,reset network start,,,FF00,,,,,,,,,,,,,,,,,,,,,,,,,
1 # type (r[1-9];w;u) class name comment QQ ZZ PBSB ID field part (m/s) type / templates divider / values unit comment field part (m/s) type / templates divider / values unit comment field part (m/s) type / templates divider / values unit comment field part (m/s) type / templates divider / values unit comment
4 *w broadcast FE
5 b datetime date/time 0700 outsidetemp D2B °C time BTI date BDA
6 r;b id identification 0704 manufacturer UCH 0x06=Dungs;0x0f=FH Ostfalia;0x10=TEM;0x11=Lamberti;0x14=CEB;0x15=Landis-Staefa;0x16=FERRO;0x17=MONDIAL;0x18=Wikon;0x19=Wolf;0x20=RAWE;0x30=Satronic;0x40=ENCON;0x50=Kromschröder;0x60=Eberle;0x65=EBV;0x75=Grässlin;0x85=ebm-papst;0x95=SIG;0xa5=Theben;0xa7=Thermowatt;0xb5=Vaillant;0xc0=Toby;0xc5=Weishaupt;0xfd=ebusd.eu device manufacturer id STR:5 device id software PIN software version hardware PIN hardware version
7 w id queryexistence identification Inquiry of existence FE 0704 07FE
w queryexistence Inquiry of existence FE 07FE
8 b signoflife sign of life 07FF
9 b error error message FE01 error STR:10
10 b netresetstate reset network start FF00
+8 -12
View File
@@ -282,18 +282,14 @@ void MainLoop::run() {
} }
} else if (m_initialScan == BROADCAST) { } else if (m_initialScan == BROADCAST) {
logNotice(lf_main, "starting initial broadcast scan"); logNotice(lf_main, "starting initial broadcast scan");
Message* message = m_messages->getScanMessage(BROADCAST); MasterSymbolString master;
if (message) { SlaveSymbolString slave;
MasterSymbolString master; master.push_back(m_address);
SlaveSymbolString slave; master.push_back(BROADCAST);
istringstream input; master.push_back(0x07);
result = message->prepareMaster(0, m_address, SYN, UI_FIELD_SEPARATOR, &input, &master); master.push_back(0xfe); // query existance message
if (result == RESULT_OK) { master.adjustHeader();
result = m_protocol->sendAndWait(master, &slave); result = m_protocol->sendAndWait(master, &slave);
}
} else {
result = RESULT_ERR_NOTFOUND;
}
} else { } else {
logNotice(lf_main, "starting initial scan for %2.2x", m_initialScan); logNotice(lf_main, "starting initial scan for %2.2x", m_initialScan);
result = m_busHandler->scanAndWait(m_initialScan, true); result = m_busHandler->scanAndWait(m_initialScan, true);