Why do I not see mqtt tasmota device in logs?

I only see on / off but I want to see if the device loses wifi connectivity, what is the solution here? Thanks in advance

Have a look at the first topic in this post:

thanks, I set up MQTT from scratch through paperui
So what do I write in Availability Topic “Topic of the LWT of the device”
my topic is SONOFF1
Like this: tele/SONOFF1/LWT

Sounds like you are going to attach the LWT topic to the Thing, rather than as a Channel as shown in the link.

Either way, I can’t help with PaperUI configurations, unfortunately! I’ll tag the post so others may be able to help.

This is for your online offline of device.

In the log you will see

[hingStatusInfoChangedEvent] - 'mqtt:topic:17d6e853_TEST_LWT' changed from OFFLINE to ONLINE

This will not detect wifi dropouts as tasmota will not be able to send Offline to the mqtt broker without connection.

That’s not usually how this works, as far as I understand. When Tasmota first connects, it tells the MQTT broker to set its LWT topic online. At the same time, Tasmota also tells the MQTT broker what message it should publish in the event that the MQTT broker detects that Tasmota has dropped the MQTT connection.

So, if the Tasmota device loses WiFi, it will also drop the MQTT connection, and the MQTT broker will publish the offline message.

At least, that’s what I’ve gleaned working with the Paho libraries!

I learn something new every day. Thanks

I deleted the thing and the item in paperui and wrote them as files by post and now it works
Thank you!

So is your thing setup like this

    Thing topic Kettle "Kettle in Kitchen" @ "Kitchen" [ availabilityTopic ="tele/kettle/LWT", payloadAvailable ="Online", payloadNotAvailable ="Offline"] {
    Channels:
        Type switch : PowerSwitch  [ stateTopic ="stat/kettle/POWER", commandTopic ="cmnd/kettle/POWER", on="ON", off="OFF"]
        Type string : WarmMode [ commandTopic ="cmnd/kettle/TuyaSend4"]
        Type number : temperature "Temperature [%.0f °C]" [ stateTopic ="tele/kettle/TUYARECEIVED", transformationPattern ="REGEX:(.*DpId\":5.*)∩JSONPATH:$.TuyaReceived.DpIdData∩JS:HEXtoDEC.js"  ]
      }

this is my thing:

Bridge mqtt:broker:local_broker "Local broker"  [host="localhost"] {
Thing topic cellar "Cellar" @ "Cellar" {
    Channels:
        Type switch : water_heater_switch  [stateTopic="stat/Boiler/POWER", commandTopic="cmnd/Boiler/POWER"]
        Type switch : water_heater_state [stateTopic="stat/Boiler/POWER"]
        Type switch : Water_Heater_Reachable "Reachable" [stateTopic="tele/Boiler/LWT",on="online",off="offline"]**
        Type string : water_heater_timer_1 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER1", transformationPattern="REGEX:(.*Timer1.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
        Type string : water_heater_timer_2 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER2", transformationPattern="REGEX:(.*Timer2.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
        Type string : water_heater_timer_3 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER3", transformationPattern="REGEX:(.*Timer3.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
        Type string : water_heater_timer_4 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER4", transformationPattern="REGEX:(.*Timer4.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
        

}

}

I am lost. Can you tell me what you are trying to do with your boiler.

What device are you running tasmota on?

How do you want it to work?

What is the operation you desire?

How do you want to control it?

Have you got it working?

It looks to me like I don’t know what you are trying to achieve. I need a little more info if you need more help.

All @razserv2010 was asking for in this thread is how to detect whether the device itself has lost connection. They’ve now implemented a new Channel in their Thing to monitor the device’s LWT topic.

In the parameter section of the Thing topic will also work and show in logs as asked.

Will give error in logs

Command 'Online' not supported by type 'OnOffValue': No enum constant org.eclipse.smarthome.core.library.types.OnOffType.Online

Boilers can be a very dangerous thing as they can blow up.
I don’t assume anything and I trust no one.

If I can prevent him from overheating his boiler I will.

I assume he knows more than me and want to make sure I understand the bigger picture of what he is doing.

Eg for my temperature control of my house is automatic and if I too hot in bet I use voice command to change it without opening my eyes.

That’s not true - they’ve added the transformation with the on= and off= parameters. I use this exact setup successfully with around a dozen MQTT devices.

Yep sorry my mistake on="Online",off="Offline" will work :man_facepalming:

1 Like

374/5000

Okay, first of all everything works now the way I need it to work.
The device on which Tasmota is installed is a tuya switch that is suitable for a boiler and voltage regulator in the country.
The last thing I had to set is when the network crashes so I know about it and there will be no situation where the boiler is running and the switch is not connected to the internet because if it is not connected to the network then openhab will not be able to turn off my switch according to some rules I set in advance

I will share with you:
default.things

click to see
   Bridge mqtt:broker:local_broker "Local broker"  [host="localhost"] {
    Thing topic cellar "Cellar" @ "Cellar" {
        Channels:
            Type switch : water_heater_switch  [stateTopic="stat/Boiler/POWER", commandTopic="cmnd/Boiler/POWER"]
            Type switch : water_heater_state [stateTopic="stat/Boiler/POWER"]
            Type number :  Water_Heater_RSSI "RSSI" [stateTopic="tele/Boiler/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
            Type switch : reachable "Reachable" [ stateTopic = "tele/Boiler/LWT", on="Online", off="Offline" ]

            Type string : water_heater_timer_1 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER1", transformationPattern="REGEX:(.*Timer1.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
            Type string : water_heater_timer_2 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER2", transformationPattern="REGEX:(.*Timer2.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
            Type string : water_heater_timer_3 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER3", transformationPattern="REGEX:(.*Timer3.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
            Type string : water_heater_timer_4 [stateTopic="stat/Boiler/RESULT", commandTopic="cmnd/Boiler/TIMER4", transformationPattern="REGEX:(.*Timer4.*)∩REGEX:(.*Time.*)∩REGEX:(.*Action.*)"]
            
    
    }

}

boiler.items of virtual items

click to see
Switch Boiler30m "Boiler 30m Timer [%s]" <switch> {expire="30m,command=OFF"}

Switch Boiler40m "Boiler 40m Timer [%s]" <switch> {expire="40m,command=OFF"}

Switch Boiler60m "Boiler 60m Timer [%s]" <switch> {expire="60m,command=OFF"}

Switch Boiler75m "Boiler 75m Timer [%s]" <switch> {expire="75m,command=OFF"}

Switch Boiler90m "Boiler 90m Timer [%s]" <switch> {expire="90m,command=OFF"}

Switch Boiler60mtimer "Boiler 60m Timer clock [%s]" <switch> {expire="60m,command=OFF"}

water_heater.items

click to see
Switch    Water_Heater_Switch              "Switch"          <switch>                               {channel="mqtt:topic:local_broker:cellar:water_heater_switch"}

Switch    Water_Heater_State               "Water Heater"    <water>                                {channel="mqtt:topic:local_broker:cellar:water_heater_state"}

Switch    Reachable           "Reachable"                                                    {channel="mqtt:topic:local_broker:cellar:reachable:reachable"}

Number    Water_Heater_RSSI                "RSSI"                                                   { channel="mqtt:topic:local_broker:cellar:Water_Heater_RSSI" }

String    Water_Heater_Timer_1                                            (gWater_Heater_Timers)    {channel="mqtt:topic:local_broker:cellar:water_heater_timer_1"}

String    Water_Heater_Timer_1_Overview    "Timer 1 [%s]"    <time>

Number    Water_Heater_Timer_1_Hour        "Hour [%d]"       <time>

Number    Water_Heater_Timer_1_Minute      "Minute [%d]"     <time>

Number    Water_Heater_Timer_1_Action      "Action"          <switch>

Number    Water_Heater_Timer_1_Save        "Save"            <contact>

Number    Water_Heater_Timer_1_Disable     "Disable"         <error>

String    Water_Heater_Timer_2                                            (gWater_Heater_Timers)    {channel="mqtt:topic:local_broker:cellar:water_heater_timer_2"}

String    Water_Heater_Timer_2_Overview    "Timer 2 [%s]"    <time>

Number    Water_Heater_Timer_2_Hour        "Hour [%d]"       <time>

Number    Water_Heater_Timer_2_Minute      "Minute [%d]"     <time>

Number    Water_Heater_Timer_2_Action      "Action"          <switch>

Number    Water_Heater_Timer_2_Save        "Save"            <contact>

Number    Water_Heater_Timer_2_Disable     "Disable"         <error>

String    Water_Heater_Timer_3                                            (gWater_Heater_Timers)    {channel="mqtt:topic:local_broker:cellar:water_heater_timer_3"}

String    Water_Heater_Timer_3_Overview    "Timer 3 [%s]"    <time>

Number    Water_Heater_Timer_3_Hour        "Hour [%d]"       <time>

Number    Water_Heater_Timer_3_Minute      "Minute [%d]"     <time>

Number    Water_Heater_Timer_3_Action      "Action"          <switch>

Number    Water_Heater_Timer_3_Save        "Save"            <contact>

Number    Water_Heater_Timer_3_Disable     "Disable"         <error>

String    Water_Heater_Timer_4                                            (gWater_Heater_Timers)    {channel="mqtt:topic:local_broker:cellar:water_heater_timer_4"}

String    Water_Heater_Timer_4_Overview    "Timer 4 [%s]"    <time>

Number    Water_Heater_Timer_4_Hour        "Hour [%d]"       <time>

Number    Water_Heater_Timer_4_Minute      "Minute [%d]"     <time>

Number    Water_Heater_Timer_4_Action      "Action"          <switch>

Number    Water_Heater_Timer_4_Save        "Save"            <contact>

Number    Water_Heater_Timer_4_Disable     "Disable"         <error>

boiler.map

OFF=מנותק מהרשת
ON=מחובר לרשת
NULL=UNDEFINED
-=-

SHISHA.map

OFF=כבוי
ON=דלוק
NULL=UNDEFINED
-=-

default.sitemap

click to see

Frame label=“בוילר” {

          Text item=mqtt_topic_Boiler_Boiler icon="switch" label="בוילר[MAP(SHISHA.map):%s]" valuecolor=[=="OFF"="red", =="ON"="green"]

                 

      {Frame label=""

          Switch item=mqtt_topic_Boiler_Boiler icon="switch" label="בוילר / הדלקה לשעתיים[MAP(SHISHA.map):%s]" valuecolor=[=="OFF"="red", =="ON"="green"]

          Switch item=Boiler30m label="הדלקה ל30 דק'[MAP(SHISHA.map):%s]" valuecolor=[=="OFF"="red", =="ON"="green"]

          Switch item=Boiler40m label="הדלקה ל40 דק'[MAP(SHISHA.map):%s]" valuecolor=[=="OFF"="red", =="ON"="green"]

          Switch item=Boiler60m label="הדלקה ל60 דק'[MAP(SHISHA.map):%s]" valuecolor=[=="OFF"="red", =="ON"="green"]

          Switch item=Boiler75m label="הדלקה לשעה ורבע[MAP(SHISHA.map):%s]" valuecolor=[=="OFF"="red", =="ON"="green"]

          Switch item=Boiler90m label="הדלקה לשעה וחצי[MAP(SHISHA.map):%s]" valuecolor=[=="OFF"="red", =="ON"="green"]

      

        Text label="טיימר 1" icon="time"{

         Text label="שעת הפעלה" icon="time" {

            Setpoint item=Water_Heater_Timer_1_Hour label="שעה" minValue=0 maxValue=23 step=1 

                Setpoint item=Water_Heater_Timer_1_Minute label="דקות" minValue=0 maxValue=59 step=1 

                Switch item=Water_Heater_Timer_1_Save label="שמור" mappings=[0="אשר"]

                Switch item=Water_Heater_Timer_1_Action label="פעולה"  mappings=[1="הפעל"] 

                Text icon="none"

                Text icon="none"

                Switch item=Water_Heater_Timer_1_Disable label="איפוס" mappings=[0="אשר"]}

                          

             Text label="שעת כיבוי" icon="time" { 

                Setpoint item=Water_Heater_Timer_2_Hour label="שעה" minValue=0 maxValue=23 step=1 

                Setpoint item=Water_Heater_Timer_2_Minute label="דקות" minValue=0 maxValue=59 step=1 

                Switch item=Water_Heater_Timer_2_Save label="שמור" mappings=[0="אשר"] 

                Switch item=Water_Heater_Timer_2_Action label="פעולה" mappings=[0="כיבוי"] 

                Text icon="none"

                Text icon="none"

                Switch item=Water_Heater_Timer_2_Disable label="איפוס" mappings=[0="אשר"]}

                }

                         

       Text label="טיימר 2" icon="time"{

        Text label="שעת הפעלה" icon="time"{

                Setpoint item=Water_Heater_Timer_3_Hour label="שעה" minValue=0 maxValue=23 step=1 

                Setpoint item=Water_Heater_Timer_3_Minute label="דקות" minValue=0 maxValue=59 step=1 

                Switch item=Water_Heater_Timer_3_Save label="שמור" mappings=[0="אשר"] 

                Switch item=Water_Heater_Timer_3_Action label="פעולה"  mappings=[1="הפעל"] 

                Text icon="none"

                Text icon="none"

                Switch item=Water_Heater_Timer_3_Disable label="איפוס" mappings=[0="אשר"]}

             Text label="שעת כיבוי" icon="time"{ 

                Setpoint item=Water_Heater_Timer_4_Hour label="שעה" minValue=0 maxValue=23 step=1 

                Setpoint item=Water_Heater_Timer_4_Minute label="דקות" minValue=0 maxValue=59 step=1 

                Switch item=Water_Heater_Timer_4_Save label="שמור" mappings=[0="אשר"] 

                Switch item=Water_Heater_Timer_4_Action label="פעולה" mappings=[0="כיבוי"] 

                Text icon="none"

                Text icon="none"

                Switch item=Water_Heater_Timer_4_Disable label="איפוס" mappings=[0="אשר"]}  }   } 

                Text item=Reachable icon="network" label="סטטוס קישוריות [MAP(boiler.map):%s]" valuecolor=["ON"="green", "OFF"="red", "NULL"="red", "-"="red"]

                Text item=shelly_shelly1_e0980696863a_sensors_temperature1 label=" טמפרטורת המים [%.1f ºC ]" icon="temperature" valuecolor=[<30.7="blue",<31.5="green",>34.6="red"]}

Sorry to have it listed there in Hebrew, I adapted the sitemap to my language
If there is a file I forgot you will quote me I will answer and if there are any questions I would be happy to answer

No need to apologise for it being in Hebrew.

Thanks for spend the time writing it up and I glad it is all working for you.

I think tasmota using the word timer1 is confusing and should be scheduling as its not a timer like you need.

I would look at using tasmota rule set in the tasmota console to limit the on time of the boiler. This will work as the failsafe if everything else stops working.

Example
https://tasmota.github.io/docs/Rules/#time-delayed-auto-off-switch

So your tasmota rule to enter into webpage console would look like

Rule1 ON Power1#state=1 DO Backlog;RuleTimer1 5500 ENDON ON Rules#Timer=1 DO Power1 off ENDON

Make sure to turn the rule on rule1 1

Think of it as a safety if all else fails have a rule to shut it off after 5500 seconds

The first thing I did at tasmota was I introduced him to this rule:
As soon as the wifi is disconnected, turn off the switch

rule1 1
rule1 on Wifi#Disconnected do power1 0 endon
1 Like

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.