Page 5 of 5

Re: ShellyTeacher for Domoticz

Posted: Saturday 03 February 2024 18:52
by lwolf
Quax1507 wrote: Saturday 03 February 2024 10:51 I still have the issue that teached devices do no longer work after restart of Domoticz. See https://www.domoticz.com/forum/viewtopi ... 06#p312206

Error in Domoticz:

Code: Select all

Error: Shelly MQTT: Switch not found!? (shellyplus2pm-d48afc4447d4-roller-pos-c/Küche Rollo)
But the device is in the Domoticz devices:

03-02-2024_10-49-51.jpg
Yes, its in the Domoticz database. But i guess the necessary configuration object is not found under the Autodiscovery topic, and Domoticz has no idea how to manage that device if configuration object is missing.
Quax1507 wrote: Saturday 03 February 2024 10:51 I am using mosquitto and the retain flag is set. How can I troubleshoot? Can I check the retain somwhere in MQTTexplorer?
Reboot the whole device with MQTT broker. If the homeassistent/shellyplus2pm-xxxx-roler-pos-c/config topic does not exists or does not contain data, your MQTT persistence is simply not working. If you see the config template in there and a RETAINED text appears above the value in yellow (or red) background, than it is retained. In your device's RAM.
Image

Troubleshoot... Linux basic knowledge required for that. For example if i logon my box and issue this command:

Code: Select all

sudo cat /var/log/mosquitto/mosquitto.log
Than it informs me that the database is saved to the disk from the memory, so the persistance settings is working if i see something like this:

Code: Select all

Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
Quax1507 wrote: Saturday 03 February 2024 10:51 Any indea? Do You recommend another MQTT broker?
I am using mosquitto also without issues. I configured it to save persistence file to disk and it simply works:
https://pagefault.blog/2020/02/05/how-t ... tt-broker/
Quax1507 wrote: Saturday 03 February 2024 10:51 EDIT: there are no devices when I go to Setup -> Hardware -> MQTT Auto Discovery Client Gateway with LAN interface -> Setup
Is this OK??
There is nothing to see there. It holds variables for MQTT devices which supports them. I do not know any device that supports it. Maybe some zigbee2mqtt device does...
Quax1507 wrote: Saturday 03 February 2024 10:51 shellyplus2pm-d48afc4447d4-roller-pos-c/Küche Rollo
PS: you do not send your complete topic name, i hope "Küche" is not included there.
Based on the official HA docs, device topic and name must only consist of characters from the character class [a-zA-Z0-9_-] (alphanumerics, underscore and hyphen). https://www.home-assistant.io/integrations/mqtt/

Re: ShellyTeacher for Domoticz

Posted: Sunday 04 February 2024 10:33
by Quax1507
Thank You very much for Your comments.
I checked all of Your mentioned topics and it all was okay.
I enden up in deleting the Mosquitto DB and let Mosquitto re-create it.
At the moment everything looks good! :D

Re: ShellyTeacher for Domoticz

Posted: Sunday 04 February 2024 15:14
by lwolf
Quax1507 wrote: Sunday 04 February 2024 10:33 Thank You very much for Your comments.
I checked all of Your mentioned topics and it all was okay.
I enden up in deleting the Mosquitto DB and let Mosquitto re-create it.
At the moment everything looks good! :D
I'm glad it works.
Very interesting case, maybe a database error occured in the mosquitto.db file. Earlier I saw strange errors with malfunctioning SD card without any error message, which are gone when i swapped the SD card.

Re: ShellyTeacher for Domoticz

Posted: Sunday 18 February 2024 11:49
by Derik
Perhaps some one use a nodered script for using shellys?
I run a script perhaps not perfect only it runs:-)
Like to use devices witouth plugins etc.
i do have switches working, no shutter and other devices.

Interrest?
Or others that runs a nr script i like to see

Re: ShellyTeacher for Domoticz

Posted: Sunday 18 February 2024 20:03
by waltervl
If you do not want to use plugins you need this ShellyTeacher script.......
You have to run it only once after every new Shelly or Shellies you add. Then standard MQTT Auto discover is used for discovering, creating Domoticz devices and updating statuses

For node red you need to do much more. And it is strange to ask for node red flows in this topic. Sure there are but here is a node red subforum on this forum.

Re: ShellyTeacher for Domoticz

Posted: Wednesday 27 March 2024 21:28
by Thermojito
ShellyTeacher has been working great so far but now I'm facing an issue where I'm a bit stuck troubleshooting due to lack of knowledge of how "MQTT Autodiscovery" and ShellyTeacher works internally:

I added a ShellyPlus1 that worked all the way to and from Domoticz, BUT when I added a Shelly "Sensor Add-on" on top of this Shelly I don't get all of the sensors to appear in Domoticz.

When I'm checking with: http://192.168.1.xx/rpc/SensorAddon.GetPeripherals I get the following response on configured links to the activated sensors: (Dig_In, 5 temp-sensors and the Analog_In)

Code: Select all

{
    "digital_in": {
        "input:100": {}
    },
    "ds18b20": {
        "temperature:100": {
            "addr": "40:255:100:29:241:154:188:112"
        },
        "temperature:101": {
            "addr": "40:255:100:29:248:110:5:242"
        },
        "temperature:102": {
            "addr": "40:255:100:29:249:149:135:211"
        },
        "temperature:103": {
            "addr": "40:255:100:29:249:205:54:190"
        },
        "temperature:104": {
            "addr": "40:70:26:195:94:20:1:175"
        }
    },
    "dht22": {},
    "analog_in": {},
    "voltmeter": {
        "voltmeter:100": {}
    }
}
I can also see all these sensors using MQTT Explorer under the "device-topic":

Code: Select all

shellyplus1-08b61fd95d44
online = true
events
rpc = {"src":"shellyplus1-08b61fd95d44","dst":"shellyplus1-08b61fd95d44/events","method":"NotifyStatus","params":{"ts":267820.50,"temperature:104":{"id":104,"tC":20.48,"tF":68.86}}}
status
temperature:100 = {"id": 100,"tC":20.7, "tF":69.3}
temperature:104 = {"id": 104,"tC":20.5, "tF":68.9}
temperature:101 = {"id": 101,"tC":20.5, "tF":68.9}
input:100 = {"id":100,"state":false}
voltmeter:100 = {"id": 100,"voltage":9.60}
switch:0 = {"id":0, "source":"button", "output":true,"temperature":{"tC":53.7, "tF":128.6}}
temperature:102 = {"id": 102,"tC":20.5, "tF":68.8}
temperature:103 = {"id": 103,"tC":20.9, "tF":69.6}
rpc = {"id": 1, "src":"shellies_discovery", "method":"Shelly.GetConfig"}
And after running ShellyTeacher the input and outputs are added to the Discovery-topic and as Domoticz-devices, except:
  • temperature:103
  • temperature:104
  • voltmeter:100
  • and the digital input
I've tried to remove everything related to this Shellyplus1 in MQTT under both the device-topic and Discovery-topic and then removing all related devices from Domoticz and then run the ShellyTeacher again and rebooting Domoticz, still without success.

Any ideas what I can do to add the remaining sensors all the way to/from Domoticz?

Re: ShellyTeacher for Domoticz

Posted: Wednesday 27 March 2024 21:40
by Thermojito
I can add for other users with problems using the Shelly Sensor Add-on that the Firmware in the "base-Shelly" might need to be updated, in my case I updated to the latest Firmware 20240223-141953/1.2.2-g7c39781 to get the menu's needed to manually activate all the sensor inputs. Without this manual activation none of the sensors will appear in MQTT and obviously not in Domoticz either.

Re: ShellyTeacher for Domoticz

Posted: Thursday 28 March 2024 8:55
by Thermojito
I guess the MQTT Autodiscovery topic entries might also be a clue to why Domoticz are not picking up all the sensors, adding the parts related to this device here:

Code: Select all

switch
shellyplus1-08b61fd95d44-0
config = {"name": "shellyplus1-08b61fd95d44 Relay 0", "cmd_t": "~rpc", "pl_off": "{\"id\":1,\"src\":\"shellyplus1-08b61fd95d44\",\"method\":\"Switch.Set\",\"params\":{\"id\":0,\"on\":false}}", "pl_on": "{\"id\":1,\"src\":\"shellyplus1-08b61fd95d44\",\"method\":\"Switch.Set\",\"params\":{\"id\":0,\"on\":true}}", "stat_t": "~status/switch:0", "val_tpl": "{{ value_json.output }}","stat_off": "false","stat_on"…
sensor
shellyplus1-08b61fd95d44-0
temperature
config = {"name": "shellyplus1-08b61fd95d44 Temperature", "enabled_by_default": true, "uniq_id": "shellyplus1-08b61fd95d44-temperature", "qos": 0, "~":"shellyplus1-08b61fd95d44/", "entity_category": "diagnostic", "dev_cla": "temperature", "stat_cla": "measurement", "unit_of_meas": "C","stat_t": "~status/switch:0", "val_tpl": "{{ value_json['temperature'].tC }}", "avty_t": "~online", "pl_avail": "true", "pl…
shellyplus1-08b61fd95d44-ext-0
temperature
config = {"name": "shellyplus1-08b61fd95d44 Temperature Ext0", "enabled_by_default": false, "uniq_id": "shellyplus1-08b61fd95d44-temperature-100", "qos": 0, "~":"shellyplus1-08b61fd95d44/", "dev_cla": "temperature", "stat_cla": "measurement", "unit_of_meas": "C","stat_t": "~status/temperature:100", "val_tpl": "{{ value_json.tC }}", "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false","device": …
humidity
shellyplus1-08b61fd95d44-ext-0-s
temperature
config = {"name": "shellyplus1-08b61fd95d44 Temperature Ext0 S", "enabled_by_default": false, "uniq_id": "shellyplus1-08b61fd95d44-temperature-100-s", "qos": 0, "~":"shellyplus1-08b61fd95d44/", "dev_cla": "temperature", "stat_cla": "measurement", "unit_of_meas": "C","stat_t": "~status/temperature:100", "val_tpl": "{{ value_json.tC }}", "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false"}
shellyplus1-08b61fd95d44-ext-1
temperature
config = {"name": "shellyplus1-08b61fd95d44 Temperature Ext1", "enabled_by_default": false, "uniq_id": "shellyplus1-08b61fd95d44-temperature-101", "qos": 0, "~":"shellyplus1-08b61fd95d44/", "dev_cla": "temperature", "stat_cla": "measurement", "unit_of_meas": "C","stat_t": "~status/temperature:101", "val_tpl": "{{ value_json.tC }}", "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false"}
shellyplus1-08b61fd95d44-ext-2
temperature
config = {"name": "shellyplus1-08b61fd95d44 Temperature Ext2", "enabled_by_default": false, "uniq_id": "shellyplus1-08b61fd95d44-temperature-102", "qos": 0, "~":"shellyplus1-08b61fd95d44/", "dev_cla": "temperature", "stat_cla": "measurement", "unit_of_meas": "C","stat_t": "~status/temperature:102", "val_tpl": "{{ value_json.tC }}", "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false"}
shellyplus1-08b61fd95d44-ext
voltage
config = {"name": "shellyplus1-08b61fd95d44 Addon Voltmeter 0", "~": "shellyplus1-08b61fd95d44/", "stat_t": "~status/voltmeter:100", "enabled_by_default": false, "uniq_id": "shellyplus1-08b61fd95d44-ext-voltmeter", "qos": 0, "dev_cla": "voltage", "stat_cla": "measurement", "unit_of_meas": "V", "val_tpl": "{{ value_json.voltage }}"}
binary_sensor
shellyplus1-08b61fd95d44-0
input
config = {"name": "shellyplus1-08b61fd95d44 Input 0", "val_tpl": "{{ value_json.state }}","stat_off": "false","stat_on": "true","enabled_by_default": true, "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false", "uniq_id": "shellyplus1-08b61fd95d44-0-input", "qos": 0, "device": {"identifiers": ["08B61FD95D44"],"manufacturer": "Shelly","model": "shellyplus1","name": "shellyplus1-08b61fd95d44"}, "~…
shellyplus1-08b61fd95d44-online
config = {"name": "shellyplus1-08b61fd95d44 Online", "stat_t": "~online", "uniq_id": "shellyplus1-08b61fd95d44-online", "~": "shellyplus1-08b61fd95d44/", "pl_on": "true", "pl_off": "false"}
select
shellyplus1-08b61fd95d44
input_event-0
config = {"name": "shellyplus1-08b61fd95d44 Input Event 0", "json_attributes_topic": "~events/rpc", "value_template":"{{value_json['params']['events'][0].event}}", "cmd_t": "~dummy", "frc_upd": true, "enabled_by_default": false, "uniq_id": "shellyplus1-08b61fd95d44-event-0", "~":"shellyplus1-08b61fd95d44/", "dev_cla": "event", "stat_cla": "selector" , "ops":["-","scheduled_restart","btn_down","btn_up","sin…
At least there are 5 temperature sensors and 1 digital input mentioned....but I cannot find anything related to a voltmeter/analog_in and the CPU-temperature would probably count as one temp-sensor and I have no combined humidity/temp sensor connected which removes another temp-sensor candidate...and the normal binary 230VAC switch input on the base-shelly works fine in Domoticz, hence I cannot see anything related to the low voltage digital input either...?

But as said in the beginning, I don't know much of the inner details of MQTT Autodiscovery but I'm trying to learn!

Re: ShellyTeacher for Domoticz

Posted: Monday 01 April 2024 23:04
by Thermojito
Issue solved!!!!

By adding these six lines in the mqtt_templates_gen2.txt as the last part of the section valid for the used base Shelly ("ShellyPlus1" in my case) I can finally see all devices from the Shelly AddOn in Domoticz!

Code: Select all

topic=%discovery_prefix%/sensor/%shelly_id%-ext-3/temperature/config
payload={"name": "%shelly_id% Temperature Ext3", "enabled_by_default": false, "uniq_id": "%shelly_id%-temperature-103", "qos": 0, "~":"%shelly_topic%/", "dev_cla": "temperature", "stat_cla": "measurement", "unit_of_meas": "C","stat_t": "~status/temperature:103", "val_tpl": "{{ value_json.tC }}", "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false"}
topic=%discovery_prefix%/sensor/%shelly_id%-ext-4/temperature/config
payload={"name": "%shelly_id% Temperature Ext4", "enabled_by_default": false, "uniq_id": "%shelly_id%-temperature-104", "qos": 0, "~":"%shelly_topic%/", "dev_cla": "temperature", "stat_cla": "measurement", "unit_of_meas": "C","stat_t": "~status/temperature:104", "val_tpl": "{{ value_json.tC }}", "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false"}
topic=%discovery_prefix%/binary_sensor/%shelly_id%-1/input/config
payload={"name": "%shelly_topic% Input Ext", "val_tpl": "{{ value_json.state }}","stat_off": "false","stat_on": "true","enabled_by_default": false, "avty_t": "~online", "pl_avail": "true", "pl_not_avail": "false", "uniq_id": "%shelly_id%-ext-input", "qos": 0, "device": {"identifiers": ["%shelly_mac%"],"manufacturer": "Shelly","model": "%shelly_model%","name": "%shelly_id%"}, "~": "%shelly_topic%/", "stat_t": "~status/input:100"}
While having the ShellyTeacher running I forced all inputs to change their values at least once after which they turned up in Domoticz. (Probably due to the "enabled by default" : false in the template added as all base Shellies will not have the AddOn unit attached to them)

As I already had the device "teached" once I also first removed the related Autodiscovery topics/components as well as the device specific topic and restarted Domoticz to run through a full AutoDiscovery again, that might not be needed when you add the device for the first time.

Re: ShellyTeacher for Domoticz

Posted: Thursday 17 October 2024 13:14
by fantom
Hi.
I try add my first Sshelly to Domoticz.
Shelly mini PM1 gen3
After all, I see it on devices list. But I don't see it on any tab and on mqtt AD configuration.
What did I do wrong ?

Re: ShellyTeacher for Domoticz

Posted: Thursday 17 October 2024 18:34
by waltervl
To get it on a Tab you have to enable it from the device list (click on the green arrow). Then it should show up in the correct tab.

If it is already enabled (blue arrow) you probably have another issue that you have assigned devices to a Domoticz admin user. You should not do that. Check menu setup -users.

Re: ShellyTeacher for Domoticz

Posted: Thursday 17 October 2024 18:40
by fantom
I know.
But I don't see this device. On MQTT AD configuration also nothing.

Re: ShellyTeacher for Domoticz

Posted: Thursday 17 October 2024 23:56
by waltervl
You should see those devices on the Utility Tab. If not check the assigned devices to the current logged in user in menu Setup - Users. If an admin then this assigned devices list should be empty. See also Wiki https://www.domoticz.com/wiki/User_Mana ... et_Devices

Re: ShellyTeacher for Domoticz

Posted: Friday 18 October 2024 20:23
by fantom
waltervl wrote: Thursday 17 October 2024 23:56 If an admin then this assigned devices list should be empty.
Thanks. This is solution.
Now I see devices.

But still on configuration page for MQTT AD list is empty.

Re: ShellyTeacher for Domoticz

Posted: Friday 18 October 2024 20:46
by waltervl
That is normal. As written in the MQTT AD gateway page this is only for number devices that can set characteristics of a device (eg motion sensor sensibility). If your MQTT AD devices don't have this functionality that configuration device list is empty.

Re: ShellyTeacher for Domoticz

Posted: Sunday 10 November 2024 12:01
by amwr
Hi all, I need some help with a Shelly Button:
I configured MQTT, used Shelly Teacher to discover and add to Domoticz. Actions work nicely. However, it seems, that event_cnt, which I can clearly see updated on Mosquitto with each button press, is not forwarded to Domoticz.
In other words: A single click on the button, generates "S". The next single click does increase event-cnt in Mosquitto, but it does not change anything in Domoticz, since "S" just remains as it is.

Event log in Domotics confirms this:

Code: Select all

2024-11-10 11:57:03.545 Shelly: Light/Switch/Switch (ShellyButton1 Online)
2024-11-10 11:57:03.648 Shelly: Light/Switch/Switch (ShellyButton1 Online)
2024-11-10 11:57:12.642 Shelly: Light/Switch/Switch (ShellyButton1 Online)
2024-11-10 11:57:12.744 Shelly: Light/Switch/Switch (ShellyButton1 Online)
-> the button connects to WiFi which generates the logs above, but the state "S" is not changed.
Is the inteded behaviour? Do I need to use a combination of "event" and "online" = true to detect a repeated single press of the button?