Zeppelin500 / MBusino

M-Bus/OneWire/I²C --> MQTT-Gateway with a shield for ESP8266 D1 mini
GNU General Public License v3.0
19 stars 5 forks source link

Update MBusino.ino #19

Open kurt-k opened 3 months ago

kurt-k commented 3 months ago

Trigger for querying the sensor values now directly after updating the values. Background: Several DS18B20s had timing problems with the old solution and the entire OneWire-Part of the sketch was blocked as a result.

Zeppelin500 commented 3 months ago

Please describe your problem with two independent timer functions. The reason of the separation (it was only one function in the past and I had stability problems) is that the ESP can do other things until it wait for the DS answer. Also, why you delete condition if sensors areconnected? "if(userData.extension > 0){" But describe the problem and we will find a solution.

kurt-k commented 3 months ago

The problem: The controller ran smoothly without any sensors connected. (Cyclically flashing LED indicated this) However, as soon as a DS18B20 was connected, the cyclical polling stopped either immediately after the controller was started or after a varying length of time. I could not detect any regularity here. In this case, the LED lights up brightly throughout. In this case, the data pin is permanently pulled to ground. (No more voltage can be measured). In this case, the only thing that helped was to de-energize and restart. I have tested several sensors to rule out a fault here, the behavior is the same for all of them. On a test D1 Mini flashed with Tasmota, these also run without any problems.

About the code change: When initializing with “setWaitForConversion(false)”, the query is set to asynchronous, which prevents the controller from blocking and allows it to perform other tasks in the meantime. In the examples of the DallasTemperature library for asynchronous queries, this is done in exactly the same way. (Fetching temperatures and then start immediately a new request in asynch mode)

The deletion of the If query was a fleeting error and wasn't intended.

Zeppelin500 commented 3 months ago

Thank you for your description. How many Sensors are connected? Is M-Bus also in use? May next week i have time Test.

Zeppelin500 commented 3 months ago

I have done some tests over a couple of days. The MBusino run without problems. 5 chinese DS connected. Can you send me a sample of not running DS?

kurt-k commented 3 months ago

Thank you for your description. How many Sensors are connected? Is M-Bus also in use? May next week i have time Test.

So far I had connected one or two sensors. However, the error was independent of this.

Mbus is not yet in operation, as I still have to wait for a new master board. ( See discussion with the hot coil)

kurt-k commented 3 months ago

I have done some tests over a couple of days. The MBusino run without problems. 5 chinese DS connected. Can you send me a sample of not running DS?

Sure, that wouldn't be a Problem.

Zeppelin500 commented 3 months ago

I have done some tests over a couple of days. The MBusino run without problems. 5 chinese DS connected. Can you send me a sample of not running DS?

Sure, that wouldn't be a Problem.

Please send a mail to mbusinolib@gmail.com and i will share my address.

Zeppelin500 commented 3 months ago

Mbus is not yet in operation, as I still have to wait for a new master board. ( See discussion with the hot coil)

no good news --> see the discussion :-(