Skip to content

Commit

Permalink
Merge pull request #847 from BooosesThaSnipper/issues#738
Browse files Browse the repository at this point in the history
Add Support for Shelly Plus AddOn for Gen2 Devices
  • Loading branch information
GermanBluefox authored Sep 25, 2023
2 parents 898dd0d + bf8bed0 commit aa8f742
Show file tree
Hide file tree
Showing 4 changed files with 1,197 additions and 4 deletions.
295 changes: 294 additions & 1 deletion lib/devices/gen2/shellyplus1.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,300 @@ const shellyHelperGen2 = require('../gen2-helper');
* https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlus1
*/
const shellyplus1 = {

'Ext.input100': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/input:100`,
mqtt_publish_funct: value => JSON.parse(value).state,
},
common: {
name: 'Input100',
type: 'boolean',
role: 'state',
read: true,
write: false,
def: false,
},
},
'Ext.input101': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/input:101`,
mqtt_publish_funct: value => JSON.parse(value).percent,
},
common: {
name: 'Input101',
type: 'number',
role: 'value',
read: true,
write: false,
unit: '%',
def: 0,
},
},
'Ext.voltmeter100': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/voltmeter:100`,
mqtt_publish_funct: value => JSON.parse(value).voltage,
},
common: {
name: 'Volmeter100',
type: 'value.number',
role: 'value.voltage',
read: true,
write: false,
unit: 'V',
def: 0,
},
},
'Ext.temperature100C': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:100`,
mqtt_publish_funct: value => JSON.parse(value).tC,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°C',
},
},
'Ext.temperature100F': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:100`,
mqtt_publish_funct: value => JSON.parse(value).tF,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°F',
},
},
'Ext.temperature101C': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:101`,
mqtt_publish_funct: value => JSON.parse(value).tC,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°C',
},
},
'Ext.temperature101F': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:101`,
mqtt_publish_funct: value => JSON.parse(value).tF,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°F',
},
},
'Ext.temperature102C': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:102`,
mqtt_publish_funct: value => JSON.parse(value).tC,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°C',
},
},
'Ext.temperature102F': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:102`,
mqtt_publish_funct: value => JSON.parse(value).tF,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°F',
},
},
'Ext.temperature103C': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:103`,
mqtt_publish_funct: value => JSON.parse(value).tC,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°C',
},
},
'Ext.temperature103F': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:103`,
mqtt_publish_funct: value => JSON.parse(value).tF,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°F',
},
},
'Ext.temperature104C': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:104`,
mqtt_publish_funct: value => JSON.parse(value).tC,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°C',
},
},
'Ext.temperature104F': {
mqtt: {
mqtt_publish: `<mqttprefix>/status/temperature:104`,
mqtt_publish_funct: value => JSON.parse(value).tF,
},
common: {
name: {
en: 'Temperature',
de: 'Temperatur',
ru: 'Температура',
pt: 'Temperatura',
nl: 'Temperatuur',
fr: 'Température',
it: 'Temperatura',
es: 'Temperatura',
pl: 'Temperatura',
'zh-cn': '模范',
},
type: 'number',
role: 'value.temperature',
read: true,
write: false,
unit: '°F',
},
},
};

shellyHelperGen2.addSwitchToGen2Device(shellyplus1, 0, false);
Expand Down
Loading

0 comments on commit aa8f742

Please sign in to comment.