Decoding dishwasher communication and some problems #22502
Replies: 2 comments 5 replies
-
Nice :) I think I know now why your name is Kampfkuchen. Subscribed. Time between chars has no meaning on the level of the serial protocol. If at all, only on the d-bus level, but tasmota (or any serial driver) cannot and should not need to know this. If time doesn't really matter for the d-bus protocol you can concat the received messages and parse the resulting stream. If you need the exact timing on ms level or even below you probably need to write your own C code. |
Beta Was this translation helpful? Give feedback.
-
May I ask how you connect to the d-bus? I also have a model named SN55* |
Beta Was this translation helpful? Give feedback.
-
Hello,
I try to decode the D-Bus of my Siemens dishwasher. I connected a ESP32-C3 with a simple circuit to readout the D-Bus.
Every device has a open drain connection to the bus and pulls down 5V. For my SN55M505EU/29 the communication is 9600 baud with 8N2.
Now I'm able to see serial messages.
First I checked the communication with a logic analyzer to know what I'm waiting for. It looks like this:
In Tasmota I get this:
13:48:11.834 RSL: RESULT = {"SSerialReceived":"05252008280000ADBE2A032520004C6A572A"}
13:49:11.754 RSL: RESULT = {"SSerialReceived":"05252008270000818F2A032520004D7A762A"}
13:50:11.592 RSL: RESULT = {"SSerialReceived":"05252008260000B6BF2A032520004E4A152A"}
First I'm pretty happy to see valid data. But there are two messages together. It seems that they are stopped by "2A" or "1A" (I guess it depends what adress sends the end byte). My logic analyzer shows a pause of >10ms, but Tasmota seems to wait longer than that.
Am I doing something wrong or is the timeout given by arduino or something else? I'm using software serial but can try it with hardware serial instead, if this could change something.
Anyway, I could try to decode it like it is and use the 2A or 1A as stop message, but it would be nice if the messages are correct separated.
Edit: The 2A/1A/0A isn't a "Stop byte", it doesn't comes from the same device so it seems to be a acknowledge from the receiver.
Beta Was this translation helpful? Give feedback.
All reactions