Skip to content

Commit

Permalink
Merge pull request #18 from shaonianzhentan/dev
Browse files Browse the repository at this point in the history
add siren entity and set select device to required
  • Loading branch information
shaonianzhentan committed Mar 25, 2022
2 parents c42b000 + 51f014f commit 15ff198
Show file tree
Hide file tree
Showing 27 changed files with 241 additions and 21 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ Reference document: https://www.home-assistant.io/docs/mqtt/discovery/
- ✔️ select
- ✔️ sensor
- ✔️ switch
- ✔️ siren
- ✔️ tag
- ✔️ vacuum

Expand Down
1 change: 1 addition & 0 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
- [x] select - 选择器
- [x] sensor - 传感器
- [x] switch - 开关
- [x] siren - 警报器
- [x] tag - 标签
- [x] vacuum - 扫地机器人

Expand Down
2 changes: 1 addition & 1 deletion alarm_control_panel/alarm_control_panel.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Alarm Control Panel',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion binary_sensor/binary_sensor.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Binary Sensor',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion button/button.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Button',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion camera/camera.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Camera',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion climate/climate.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Climate',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion cover/cover.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Cover',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion device_automation/device_automation.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Device Automation',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
action: { value: "", required: true }
},
Expand Down
2 changes: 1 addition & 1 deletion device_tracker/device_tracker.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Device Tracker',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
104 changes: 104 additions & 0 deletions examples/siren.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
[
{
"id": "9ed2093df2fd23bf",
"type": "tab",
"label": "流程 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b08aa9d2d22b2169",
"type": "ha-mqtt-siren",
"z": "9ed2093df2fd23bf",
"server": "8672849eb803c6e3",
"device": "02c940ba547f5196",
"name": "测试",
"config": "",
"x": 410,
"y": 280,
"wires": [
[
"bb7651bd07231413"
]
]
},
{
"id": "bb7651bd07231413",
"type": "debug",
"z": "9ed2093df2fd23bf",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 590,
"y": 280,
"wires": []
},
{
"id": "be3de859b55e638f",
"type": "inject",
"z": "9ed2093df2fd23bf",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "attributes",
"v": "{\"volume_level\":0.5,\"duration\":111,\"tips\":\"通过属性无法修改上面两个值\"}",
"vt": "json"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "ON",
"payloadType": "str",
"x": 230,
"y": 280,
"wires": [
[
"b08aa9d2d22b2169"
]
]
},
{
"id": "8672849eb803c6e3",
"type": "mqtt-broker",
"name": "MQTT",
"broker": "192.168.1.117",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willPayload": "",
"willMsg": {},
"sessionExpiry": ""
},
{
"id": "02c940ba547f5196",
"type": "ha-mqtt-device",
"name": "测试",
"config": ""
}
]
2 changes: 1 addition & 1 deletion fan/fan.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Fan',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion humidifier/humidifier.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Humidifier',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion light/light.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
paletteLabel: 'Light',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion lock/lock.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Lock',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion number/number.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Number',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "node-red-contrib-ha-mqtt",
"version": "1.2.3",
"version": "1.2.4",
"description": "Generate MQTT entities in HomeAssistant",
"keywords": [
"node-red",
Expand All @@ -27,6 +27,7 @@
"sensor": "sensor/sensor.js",
"select": "select/select.js",
"switch": "switch/switch.js",
"siren": "siren/siren.js",
"scene": "scene/scene.js",
"number": "number/number.js",
"fan": "fan/fan.js",
Expand All @@ -52,4 +53,4 @@
"dependencies": {
"node-pinyin": "^0.2.3"
}
}
}
2 changes: 1 addition & 1 deletion scene/scene.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Scene',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion select/select.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
paletteLabel: 'Select',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
config: { value: "" }
},
Expand Down
2 changes: 1 addition & 1 deletion sensor/sensor.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
paletteLabel: 'Sensor',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device" },
device: { value: "", type: "ha-mqtt-device" , required: true},
name: { value: "", required: true },
unit_of_measurement: { value: "" },
config: { value: "" }
Expand Down
10 changes: 10 additions & 0 deletions siren/locales/en-US/siren.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<script type="text/html" data-help-name="ha-mqtt-siren">
<p>Siren</p>
<h3>Input</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">string</span></dt>
<dt>attributes <span class="property-type">object</span></dt>
</dl>
<h3>Details</h3>
<p>Generate a siren entity in Home Assistant</p>
</script>
10 changes: 10 additions & 0 deletions siren/locales/zh/siren.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<script type="text/html" data-help-name="ha-mqtt-siren">
<p>警报器</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">string</span></dt>
<dt>attributes <span class="property-type">object</span></dt>
</dl>
<h3>详情</h3>
<p>在HomeAssistant中生成siren实体</p>
</script>
41 changes: 41 additions & 0 deletions siren/siren.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<script type="text/html" data-template-name="ha-mqtt-siren">
<div class="form-row">
<label for="node-input-server" data-i18n="node-red-contrib-ha-mqtt/common:label.mqttServer"></label>
<select id="node-input-server"></select>
</div>
<div class="form-row">
<label for="node-input-device" data-i18n="node-red-contrib-ha-mqtt/common:label.deviceName"></label>
<select type="text" id="node-input-device" data-i18n="[placeholder]node-red-contrib-ha-mqtt/common:label.deviceName"></select>
</div>
<div class="form-row">
<label for="node-input-name" data-i18n="node-red-contrib-ha-mqtt/common:label.entityName"></label>
<input type="text" id="node-input-name" data-i18n="[placeholder]node-red-contrib-ha-mqtt/common:label.entityName">
</div>
<div class="form-row">
<label for="node-input-config" data-i18n="node-red-contrib-ha-mqtt/common:label.config"></label>
<input type="text" id="node-input-config" data-i18n="[placeholder]node-red-contrib-ha-mqtt/common:label.config">
</div>
</script>
<script type="text/javascript">
RED.nodes.registerType('ha-mqtt-siren', {
category: RED._("node-red-contrib-ha-mqtt/common:homeAssistantCategory"),
color: '#C0DEED',
icon: "font-awesome/fa-bullhorn",
paletteLabel: 'Siren',
defaults: {
server: { value: "", type: "mqtt-broker", required: true },
device: { value: "", type: "ha-mqtt-device", required: true },
name: { value: "", required: true },
config: { value: "" }
},
inputs: 1,
outputs: 1,
inputLabels: RED._("node-red-contrib-ha-mqtt/common:ioLabels.state"),
label: function () {
return this.name || "siren";
},
oneditprepare: function () {
$("#node-input-config").typedInput({ type: "json", types: ["json"] })
}
});
</script>
Loading

0 comments on commit 15ff198

Please sign in to comment.