错误的???对不起??我不明白

我现在尝试这个问题

- 平台:MQTT名称:Sonoff Pow昨天Energy unet_of_measurement:“kwh”endate_topic:“tele / sonoff_pow_1 / sensor”value_template:“{{value_json.yesterday}}” - 平台:MQTT名称:Sonoff Pow Tode Energy one ener_of_measurement:“kwh”extend_topic:“tele / sonoff_pow_1 / sensor”value_template:“{{value_json.today}}”当前}}“ - 平台:MQTT名称:Sonoff Pow电源Un_of_measurement:”瓦斯“状态_topic:”Tele / Sonoff_Pow_1 / Sensor“Value_Template:”{{value_json.power}}“

39.
这就是问题所在

@ Keithh666.

当遇到像PowerLow这样的Sonoff Pow阈值时,将发送一条消息tele/ Sonoff /POWER_LOW ON。当错误被纠正后,将发送一条消息tele/sonoff/POWER_LOW OFF。

虽然大多数MQTT命令将导致JSON格式中的消息,但电源状态反馈将始终返回,如STAT / SONOFF / POWER ON。

遥测数据将由Prefix远程发送,如Tele / Sonoff / Sensor {时间“:”2017-02-16T10:13:52“,”DS18B20“:{”温度“:20.6}}

它现在不起作用的原因是它是嵌套的json ......

注意{}他们表明它是嵌套的json{“时间”:“2018-01-25T02:16:38”,“能源”:{“总数”:0.149,“昨天”:0.079,“今天”:0.070,“期间”:0,“电源”:22,“因子”:0.52,“电压”:228,“当前”:0.183}}

嵌套JSON在响应中得到支持

{“传感器”:{“类型”:“Air”,“ID”:“12345”},“值”:{“temp”:26.09,“hum”:56.73,}}只使用“方括号表示法”获得价值。'{{value_json [“值”] [“temp”]}}'

所以你需要 -

例如:{{value_json[" ENERGY "][" Yesterday "]}}。

日志:

配置失败
Sensor.mqtt:
平台:MQTT.
名称:Sonoff Pow昨天能源
state_topic:电视/ sonoff_pow_1 /能量
unit_of_measurement:kwh.
value_template: {{value_json[" ENERGY "][" Yesterday "]}}

2018-01-25 02:13:16错误(Thread-2)[homeassistant.util.yaml]在解析块映射时
在“/ home / homeassistant / .homeassistant /传感器。Yaml ",第31行,第5列
预期,但发现''
在“/ home / homeassistant / .homeassistant /传感器。Yaml ",第35行,第38列
2018-01-25 02:13:16错误(MainThread) [homeassistant.]加载/home/homeassistant/.homeassistant/configuration错误。Yaml:解析块映射时
在“/ home / homeassistant / .homeassistant /传感器。Yaml ",第31行,第5列
预期,但发现''
在“/ home / homeassistant / .homeassistant /传感器。Yaml ",第35行,第38列

尝试将单引号换成它在榜样中显示!

会试图解释

因为MQTT是JSON消息

02:16:38 MQT:Tele / Sonoff_Pow_1 / Sensor = {“时间”:“2018-01-25T02:16:38”,“Energy”:{“总数”:0.149,“昨天”:0.079,“今天”:0.070,“时期”:0,“电源”:22,“因子”:0.52,“电压”:228,“当前”:0.183}}

想想每个{作为一个对象的开始和下一个{是它的孩子

所以想读书
tele/sonoff_pow_1/SENSOR的MQTT

State_topic:“Tele / Sonoff_Pow_1 / Sensor”

正如我们想要阅读昨天的价值,这是侧面的能量{}这是它的孩子

所以

value_template:“{{value_json ['Energy']。昨天}}”

所以把它整合在一起

- 平台:MQTT名称:Sonoff Pow昨天Energy Ocon_Of_Measurement:“kwh”endate_topic:“tele / sonoff_pow_1 / sensor”value_template:“{{value_json ['Energy']。昨天}}”

这是我的

—platform: mqtt name: "Washing Power" state_topic: "tele/SONOFF-POW1/SENSOR" value_template: "{{value_json['ENERGY']。qos: 1 unit_of_measurement: "W"

图像

看到泥泞

7喜欢

谢谢@myle我稍后会尝试......:least_smile:

我可以确认语法@ Keithh666.也有效。这是我的设置:

传感器: - 平台:MQTT名称:“sp1_yesterday”endic_topic:“tele / sonoffpow-1 / sensor”value_template:'{{value_json [“Energy”] [“yesterday”]}'unit_of_measurement:“kwh”
1像

忘记第2个[],如果你要用一些代码改变[]中的数据来读取数据,就使用它们

希望美分
看到泥泞

嘿,伙计们,我是新手,需要帮忙校准。
有人可以告诉我如何校准TASMOTA,所以它测量正确的值?

1像

@myle你是男人......作品!谢谢!!!

https://github.com/arendst/sonoff-tasmota/wiki/sonoff-pow#calation.

将其连接到A,60 W光线,看看你得到了什么

你需要一个白炽灯泡(传统的或卤素的),以避免功率因素的影响。

有什么办法能让功率因数出现在哈西奥吗,这好像不起作用

  • 平台:MQTT.
    名称:“功率因数”
    extend_topic:“stat / pow1 / status8”
    value_template:“{{value_json [' StatusPWR ']。因素}}”

这是我的配置:

- 平台:MQTT名称:“Sonoff_PowerFactor”State_Topic:“Tele / Sonoffpow / Sensor”Value_Template:'{{value_json [Energy“] [”factor“]}}'
1像

谢谢!这是诀窍!

用于希望正确显示mqtt传感器属性的用户。你可以用这个。

基本上,它读取SENSOR ENERGY并作为SENSOR_DATA重新发布,这样mqtt传感器就可以从SENSOR_DATA获得所有属性。

传感器: - 平台:MQTT名称:“sonoffpow1”endate_topic:“telow / sonoffpow1 / sensor_data”value_template:'{{value_json.power}}'{{value_json.power}}'one_of_measurement:“watts”json_attributes: - 当前 - 今天 - 昨天 - 昨天 - 电压 - 总的:- 别名:'autosonoffpowatribute'itial_state:true #hide_entity:true触发器: - 平台:mqtt主题:'tele / sonoffpow1 / sensor'action: - 服务:mqtt.publish data_template:主题:'tele / sonoffpow1 / sensor_data'有效载荷:'{{trigger.payload_json.energy |tojson}'
2喜欢