Jump to content

Status update in AC works on some Sonoff switches, fairly new occurrence


Go to solution Solved by TriLife,

Recommended Posts

I Am running:

eISY

Iox 3.8.0

PG3 3.2.22 with same frontend reported

MQTT 0.0.37

I am using all sonoff switches and this has been working fine for 3 or 4 years, pretty much from the start.

These are my settings in PG3 MQTT:

shortPoll    15

longPoll    60

mqtt_server    localhost

mqtt_port    1884

mqtt_user    mqttuser

mqtt_password    admin

I use devlist which is:

Quote
[ {"id": "sonoff130", "type": "switch", "status_topic": "stat/sonoff130/POWER", "cmd_topic": "cmnd/sonoff130/power"}, {"id": "sonoff131", "type": "switch", "status_topic": "stat/sonoff131/POWER", "cmd_topic": "cmnd/sonoff131/power"}, {"id": "sonoff132", "type": "switch", "status_topic": "stat/sonoff132/POWER", "cmd_topic": "cmnd/sonoff132/power"}, {"id": "sonoff133", "type": "switch", "status_topic": "stat/sonoff133/POWER", "cmd_topic": "cmnd/sonoff133/power"}, {"id": "sonoff134", "type": "switch", "status_topic": "stat/sonoff134/POWER", "cmd_topic": "cmnd/sonoff134/power"}, {"id": "sonoff135", "type": "switch", "status_topic": "stat/sonoff135/POWER", "cmd_topic": "cmnd/sonoff135/power"}, {"id": "sonoff136", "type": "switch", "status_topic": "stat/sonoff136/POWER", "cmd_topic": "cmnd/sonoff136/power"}, {"id": "sonoff137", "type": "switch", "status_topic": "stat/sonoff137/POWER", "cmd_topic": "cmnd/sonoff137/power"}, {"id": "sonoff138", "type": "switch", "status_topic": "stat/sonoff138/POWER", "cmd_topic": "cmnd/sonoff138/power"}, {"id": "sonoff139", "type": "switch", "status_topic": "stat/sonoff139/POWER", "cmd_topic": "cmnd/sonoff139/power"} ]


 

What happens is on some devices if I turn on or off the device from the AC, the device will respond but the AC does not update the new status, whether on or off. But the admin console status updates for a few devices.

Also, the status value in PG3 node page does not change either.

I am not sure which logs you may need. Hopefully it is a config error on my part.

Any help would be appreciated.

Thanks,

Tim

Edited by TJF1960
Link to comment
Posted (edited)

Thank you, unfortunately no change.

Also I forgot to mention that in programs, none of the sonoff switches are shown as available for the "If" section. They all show up in the "Then" section.

[ {"id": "sonoff130", "type": "switch", "status_topic": "stat/sonoff130/POWER", "cmd_topic": "cmnd/sonoff130/POWER"}, {"id": "sonoff131", "type": "switch", "status_topic": "stat/sonoff131/POWER", "cmd_topic": "cmnd/sonoff131/POWER"}, {"id": "sonoff132", "type": "switch", "status_topic": "stat/sonoff132/POWER", "cmd_topic": "cmnd/sonoff132/POWER"}, {"id": "sonoff133", "type": "switch", "status_topic": "stat/sonoff133/POWER", "cmd_topic": "cmnd/sonoff133/POWER"}, {"id": "sonoff134", "type": "switch", "status_topic": "stat/sonoff134/POWER", "cmd_topic": "cmnd/sonoff134/POWER"}, {"id": "sonoff135", "type": "switch", "status_topic": "stat/sonoff135/POWER", "cmd_topic": "cmnd/sonoff135/POWER"}, {"id": "sonoff136", "type": "switch", "status_topic": "stat/sonoff136/POWER", "cmd_topic": "cmnd/sonoff136/POWER"}, {"id": "sonoff137", "type": "switch", "status_topic": "stat/sonoff137/POWER", "cmd_topic": "cmnd/sonoff137/POWER"}, {"id": "sonoff138", "type": "switch", "status_topic": "stat/sonoff138/POWER", "cmd_topic": "cmnd/sonoff138/POWER"}, {"id": "sonoff139", "type": "switch", "status_topic": "stat/sonoff139/POWER", "cmd_topic": "cmnd/sonoff139/POWER"} ]

-Tim

Edited by TJF1960
Link to comment

Pick one of the offending devices, delete it from the node server (both as a  node and from the dev list). Then re add it to the dev list and try again. Once a device is added to the node server, it stays there until the node is deleted, so this will ensure a fresh start. Just test on one device first. 

Link to comment

Thank you. The outcome is the same. I deleted the entire MQTT node servicer. Reinstalled and pasted the devlist back in and restarted.

I noticed that the switch that works provides much more detail in the log than the switch that doesn't.

Quote
 
024-04-21 16:51:13,174 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:51:13,174 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:51:13,174 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'sonoff134', 'cmd': 'DON', 'query': {}} from Polyglot
2024-04-21 16:51:20,657 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:51:20,658 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:51:20,658 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'sonoff134', 'cmd': 'DOF', 'query': {}} from Polyglot
2024-04-21 16:51:34,366 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:51:34,366 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:51:34,366 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'sonoff131', 'cmd': 'DOF', 'query': {}} from Polyglot
2024-04-21 16:51:34,459 Thread-9 udi_interface DEBUG Controller:_on_message: Received _on_message OFF from stat/sonoff131/POWER
2024-04-21 16:51:34,460 Thread-9 udi_interface INFO Controller:_on_message: Payload = OFF, Topic = stat/sonoff131/POWER
2024-04-21 16:51:34,460 Thread-9 udi_interface DEBUG Controller:_dev_by_topic: STATUS TO DEVICES = sonoff131
2024-04-21 16:51:34,460 Thread-9 udi_interface.node DEBUG node:setDriver: sonoff131:sonoff131 Reporting set ST to 0 to Polyglot
2024-04-21 16:51:34,460 Thread-9 udi_interface.node DEBUG node:reportDriver: Updating value to 0
2024-04-21 16:51:34,469 Thread-1 udi_interface.interface DEBUG interface:_send: PUBLISHING {'set': [{'address': 'sonoff131', 'driver': 'ST', 'value': '0', 'uom': 78, 'text': None}]}
2024-04-21 16:51:34,501 MQTT udi_interface.interface INFO interface:_message: Successfully set sonoff131 :: ST to 0 UOM 78
2024-04-21 16:51:36,459 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:51:36,460 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:51:36,460 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'sonoff131', 'cmd': 'DON', 'query': {}} from Polyglot
2024-04-21 16:51:36,620 Thread-9 udi_interface DEBUG Controller:_on_message: Received _on_message ON from stat/sonoff131/POWER
2024-04-21 16:51:36,620 Thread-9 udi_interface INFO Controller:_on_message: Payload = ON, Topic = stat/sonoff131/POWER
2024-04-21 16:51:36,620 Thread-9 udi_interface DEBUG Controller:_dev_by_topic: STATUS TO DEVICES = sonoff131
2024-04-21 16:51:36,620 Thread-9 udi_interface.node DEBUG node:setDriver: sonoff131:sonoff131 Reporting set ST to 100 to Polyglot
2024-04-21 16:51:36,620 Thread-9 udi_interface.node DEBUG node:reportDriver: Updating value to 100
2024-04-21 16:51:36,622 Thread-1 udi_interface.interface DEBUG interface:_send: PUBLISHING {'set': [{'address': 'sonoff131', 'driver': 'ST', 'value': '100', 'uom': 78, 'text': None}]}
2024-04-21 16:51:36,657 MQTT udi_interface.interface INFO interface:_message: Successfully set sonoff131 :: ST to 100 UOM 78
2024-04-21 16:51:54,907 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message shortPoll
2024-04-21 16:51:54,907 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING shortPoll
2024-04-21 16:51:54,908 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS shortPoll message {} from Polyglot
2024-04-21 16:51:54,908 Thread-32 udi_interface DEBUG Controller:heartbeat: heartbeat: init=False
2024-04-21 16:51:54,908 Thread-32 udi_interface DEBUG Controller:heartbeat: heartbeat: hb=1
2024-04-21 16:51:54,908 Thread-32 udi_interface DEBUG Controller:poll: shortPoll check for events (controller)
2024-04-21 16:51:54,917 Thread-1 udi_interface.interface DEBUG interface:_send: PUBLISHING {'command': [{'address': 'mqctrl', 'cmd': 'DOF'}]}
2024-04-21 16:51:54,944 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:51:54,944 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:51:54,944 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'mqctrl', 'success': True} from Polyglot
2024-04-21 16:52:01,152 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:52:01,152 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:52:01,152 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'sonoff134', 'cmd': 'DOF', 'query': {}} from Polyglot
2024-04-21 16:52:02,905 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:52:02,905 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:52:02,906 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'sonoff134', 'cmd': 'DON', 'query': {}} from Polyglot
2024-04-21 16:52:54,908 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message shortPoll
2024-04-21 16:52:54,909 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING shortPoll
2024-04-21 16:52:54,909 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS shortPoll message {} from Polyglot
2024-04-21 16:52:54,909 Thread-33 udi_interface DEBUG Controller:heartbeat: heartbeat: init=False
2024-04-21 16:52:54,909 Thread-33 udi_interface DEBUG Controller:heartbeat: heartbeat: hb=0
2024-04-21 16:52:54,909 Thread-33 udi_interface DEBUG Controller:poll: shortPoll check for events (controller)
2024-04-21 16:52:54,917 Thread-1 udi_interface.interface DEBUG interface:_send: PUBLISHING {'command': [{'address': 'mqctrl', 'cmd': 'DON'}]}
2024-04-21 16:52:54,943 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message command
2024-04-21 16:52:54,943 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING command
2024-04-21 16:52:54,943 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS command message {'address': 'mqctrl', 'success': True} from Polyglot

-Tim

Link to comment

Well, one device is working, so that suggests the issue may be with the config of the clients.  Let's review:

- You are using Tasmota, I assume

- You have logged into the Tasmota web interface for each device and configured it correctly, especially the "Configure MQTT" menu choice. (Be sure to type in the password even though there appears to be one there already).

- If so, you should be able to look at the "Console" menu choice in the Tasmota interface and see the MQTT messages being published by Sonoff.  When the device is turned on or off, you should see a properly formed MQTT message.  Its format should match the format you've specified in the dev list for stat/ and cmnd/, in particular the device name should match.  Capitalization should match.

- If there is a mis-match, it does not throw an error. Just nothing happens.

Link to comment

the conversation seems to have moved to 

. Just in case.

BTW, I was able to replicate here. some switches update their status on AC, the vast majority do not (i have 118 of them)

I have been using V37 for a several days and can fairly confirm that the not updating of AC (and as a result non-execution of referencing programs) is only a couple of days old... Seems to be related with changing from Beta to Production store, as this may have forced some type of a reinstall...

Working on it. If we can't find the root cause fairly quickly I'll suggest to revert to a stable version (V34 or V35). 

  • Like 1
Link to comment

Hello @sjenkins

Question, is the MQTT in the Non-Production location a revision before the latest changes. I rely on the status of the swtiches for a number of programs and thought I might switch over to non-production in the mean time until you have time to fix.

Thanks!

-Tim

Link to comment
1 minute ago, TJF1960 said:

Hello @sjenkins

Question, is the MQTT in the Non-Production location a revision before the latest changes. I rely on the status of the swtiches for a number of programs and thought I might switch over to non-production in the mean time until you have time to fix.

Thanks!

-Tim

Hi @TJF1960. Yes, MQTT is V35 (although it may say V40 somewhere)

  • Like 1
Link to comment
Posted (edited)

Hi @TriLife, Well, shoot, I tried installing V35 again (it does say v40 in the store) but it is not loading IOX properly. this is all I get. The status area is squished down so you cant see the status window and the three buttons on the bottom are missing.

Nothing I tried work populate IOX properly. I wonder if its just me or it is a bug?

 

 

Edited by TJF1960
Link to comment
14 minutes ago, TJF1960 said:

Hi @TriLife, Well, shoot, I tried installing V35 again (it does say v40 in the store) but it is not loading IOX properly. this is all I get. The status area is squished down so you cant see the status window and the three buttons on the bottom are missing.

Nothing I tried work populate IOX properly. I wonder if its just me or it is a bug?

 

 

Hmmm. I'll have a look at it tomorrow.

In the meantime, @sjenkins may have a true-blue V35 in his back pocket, which he cloned to develop V39...

  • Like 1
Link to comment
15 hours ago, TJF1960 said:

Hi @TriLife, Well, shoot, I tried installing V35 again (it does say v40 in the store) but it is not loading IOX properly. this is all I get. The status area is squished down so you cant see the status window and the three buttons on the bottom are missing.

Nothing I tried work populate IOX properly. I wonder if its just me or it is a bug?

 

 

Good morning @TJF1960;

Ok, 'MQTT' in the Beta Store is now the true blue V 0.0.35. I cloned the repository from GitHub, reverted to V35 and put it in its own branch. (I was reluctant to do this initially, because I am git-phobic 😜. Turns out using Github Desktop it was a breeze!)

I also tested it.image.png.55e2b9820dcd970163c735f7665db61a.png

It reports status back to the AC.

Let me know if this works for you.

Cheers

Edited by TriLife
added missing information
Link to comment

Hi @TriLife,

Thank you, that did fix the AC ns pages for each device and I can confirm that the status changes however that did not fix being able to select the status of a switch in programs. The only sonoff status that appears in program condition dropdown is the ns itself. 

Then it must have been an earlier rev than .35, I am sorry, I have no idea. I generally stay up on updates as they roll out. All I do know for sure is that last week when I updated to .37 is when the status in programs disappeared.

Thank you very much again for your help.

-Tim

 

Link to comment
  • Solution
20 hours ago, TJF1960 said:

Hi @TriLife,

Thank you, that did fix the AC ns pages for each device and I can confirm that the status changes however that did not fix being able to select the status of a switch in programs. The only sonoff status that appears in program condition dropdown is the ns itself. 

Then it must have been an earlier rev than .35, I am sorry, I have no idea. I generally stay up on updates as they roll out. All I do know for sure is that last week when I updated to .37 is when the status in programs disappeared.

Thank you very much again for your help.

-Tim

 

Good morning @TJF1960,

Couldn't keep @sjenkins away from his keyboard! THANKS!

There is a for STATUS on the Beta Store MQTT plug-in. Now V39. your PG3 should notify you. just update...

It also is on the Production Store, but since we didn't bump the rev, you might not get an update notice.

Please let us know how it goes.
 

  • Like 1
Link to comment
2 minutes ago, TJF1960 said:

Hi @TriLife and @sjenkins,

You nailed it!

Thank you both so much!

-Tim

Glad that worked for you!

If you have further ideas on how we can enhance the MQTT plug-in, please contribute on:

We started on a list for you, in case you're shy😜

Cheers

JR

  • Like 1
Link to comment
Guest
This topic is now closed to further replies.

×
×
  • Create New...