It seems that some data points (rain today, rain yesterday) of this thing are stored in system variables and are not visible in Thing’s Channels generated through PaperUI.
Would it be possible to be insourced as a standard channel, or does anybody know how to access this value and get the actual value without refreshing over GatewayExtras.
Would be interesting which output the API delivers. Can you switch the binding to TRACE mode please and post the result for this device from the logfile?
2017-09-14 07:25:32.641 [TRACE] [nicator.server.BinRpcResponseHandler] - Event BinRpcMessage: system.multicall()
[
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
TEMPERATURE
14.1
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
HUMIDITY
70
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
RAINING
false
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
RAIN_COUNTER
34.81
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
WIND_SPEED
31.7
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
WIND_DIRECTION
315
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
WIND_DIRECTION_RANGE
45
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
SUNSHINEDURATION
26
]
}
{
methodName=event
params=
[
RF-9aa663c8
NEQ0344045:1
BRIGHTNESS
205
]
}
]
2017-09-14 07:25:32.649 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Double) value '14.1' for 'NEQ0344045:1#TEMPERATURE' from gateway with id '9aa663c8'
2017-09-14 07:25:32.653 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 3050d21c1a36d9bc expected MID 58377 but received 26689
2017-09-14 07:25:32.664 [TRACE] [converter.type.AbstractTypeConverter] - Converting FLOAT value '14.1' with DecimalTypeConverter for 'NEQ0344045:1#TEMPERATURE'
2017-09-14 07:25:32.679 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 9cf9 expected MID 54751 but received 15921
2017-09-14 07:25:32.702 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Integer) value '70' for 'NEQ0344045:1#HUMIDITY' from gateway with id '9aa663c8'
2017-09-14 07:25:32.706 [TRACE] [converter.type.AbstractTypeConverter] - Converting INTEGER value '70' with DecimalTypeConverter for 'NEQ0344045:1#HUMIDITY'
2017-09-14 07:25:32.721 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 046cf6ea expected MID 58296 but received 26641
2017-09-14 07:25:32.727 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'NEQ0344045:1#RAINING' from gateway with id '9aa663c8'
2017-09-14 07:25:32.738 [TRACE] [converter.type.AbstractTypeConverter] - Converting BOOL value 'false' with OnOffTypeConverter for 'NEQ0344045:1#RAINING'
2017-09-14 07:25:32.762 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Double) value '34.81' for 'NEQ0344045:1#RAIN_COUNTER' from gateway with id '9aa663c8'
2017-09-14 07:25:32.775 [TRACE] [converter.type.AbstractTypeConverter] - Converting FLOAT value '34.81' with DecimalTypeConverter for 'NEQ0344045:1#RAIN_COUNTER'
2017-09-14 07:25:32.809 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Double) value '31.7' for 'NEQ0344045:1#WIND_SPEED' from gateway with id '9aa663c8'
2017-09-14 07:25:32.826 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 1a928d expected MID 57283 but received 26361
2017-09-14 07:25:32.837 [TRACE] [converter.type.AbstractTypeConverter] - Converting FLOAT value '31.7' with DecimalTypeConverter for 'NEQ0344045:1#WIND_SPEED'
2017-09-14 07:25:32.848 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 59 expected MID 4435 but received 462
2017-09-14 07:25:32.865 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 2bf9067c7519 expected MID 60399 but received 27542
2017-09-14 07:25:32.871 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Integer) value '315' for 'NEQ0344045:1#WIND_DIRECTION' from gateway with id '9aa663c8'
2017-09-14 07:25:32.880 [TRACE] [converter.type.AbstractTypeConverter] - Converting INTEGER value '315' with DecimalTypeConverter for 'NEQ0344045:1#WIND_DIRECTION'
2017-09-14 07:25:32.906 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Integer) value '45' for 'NEQ0344045:1#WIND_DIRECTION_RANGE' from gateway with id '9aa663c8'
2017-09-14 07:25:39.731 [TRACE] [converter.type.AbstractTypeConverter] - Converting INTEGER value '45' with DecimalTypeConverter for 'NEQ0344045:1#WIND_DIRECTION_RANGE'
2017-09-14 07:25:39.821 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 079e expected MID 22288 but received 54158
2017-09-14 07:25:39.833 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Integer) value '26' for 'NEQ0344045:1#SUNSHINEDURATION' from gateway with id '9aa663c8'
2017-09-14 07:25:39.840 [TRACE] [converter.type.AbstractTypeConverter] - Converting INTEGER value '26' with DecimalTypeConverter for 'NEQ0344045:1#SUNSHINEDURATION'
2017-09-14 07:25:39.857 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 9e expected MID 728 but received 54193
2017-09-14 07:25:39.859 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 5c expected MID 4110 but received 54196
2017-09-14 07:25:39.871 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Integer) value '205' for 'NEQ0344045:1#BRIGHTNESS' from gateway with id '9aa663c8'
2017-09-14 07:25:39.880 [TRACE] [converter.type.AbstractTypeConverter] - Converting INTEGER value '205' with DecimalTypeConverter for 'NEQ0344045:1#BRIGHTNESS'
2017-09-14 07:25:40.033 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 79 expected MID 62727 but received 54313
2017-09-14 07:25:40.063 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 7b expected MID 1626 but received 54334
2017-09-14 07:25:40.089 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: cb expected MID 1754 but received 54344
2017-09-14 07:25:40.137 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: bd expected MID 25318 but received 54359
2017-09-14 07:25:40.166 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 28 expected MID 708 but received 54390
2017-09-14 07:25:40.169 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 96 expected MID 3492 but received 54392
2017-09-14 07:25:40.218 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: 01dacbaf expected MID 59420 but received 27089
2017-09-14 07:25:40.248 [WARN ] [pse.californium.core.network.Matcher] - Possible MID reuse before lifetime end: ca expected MID 3974 but received 54494
2017-09-14 07:25:40.255 [TRACE] [nal.communicator.client.BinRpcClient] - Client BinRpcRequest:
listBidcosInterfaces()
2017-09-14 07:25:40.257 [TRACE] [al.communicator.client.SocketHandler] - Returning socket for port 2001
2017-09-14 07:25:40.268 [TRACE] [nal.communicator.client.BinRpcClient] - Client BinRpcResponse:
[
{
ADDRESS=NEQ0219371
CONNECTED=true
DEFAULT=true
DESCRIPTION=
DUTY_CYCLE=4
FIRMWARE_VERSION=2.8.5
TYPE=CCU2
}
]
that’s not enough, i need the trace log when the metadata of the device is loaded. Your output is from the XML-API add-on, it is generated with scripts. The binding works with the Homematic API.
I would suggest you google about MQTT and HomeMatic. It is possible to send mqtt messages from homematic. so setup a program which sends the value over mqtt over to openhab.
I implemented following ignoring the path of getting the values from HomeMatic:
persistence
I set up some time ago influxdb as for persistence, and using it for grafana.
items
Switch WSRaining "WS Raining [MAP(rain.map):%s]" <temperature> { channel="homematic:HM-WDS100-C6-O-2:9aa663c8:NEQ0344045:1#RAINING" }
Number WSRainCounter "WS Raining Counter[%.2f mm]" <rain> { channel="homematic:HM-WDS100-C6-O-2:9aaxxxxx:NEQ034yyyy:1#RAIN_COUNTER" }
Number WSRainLastHour "Rain Last Hour[%.2f mm]" <rain>
Number WSRainLast24h "Rain Last 24h[%.2f mm]" <rain>
Number WSRainLast7d "Rain Last 7 days[%.2f mm]" <rain>
Number WSRainLast30d "Rain Last 30 days[%.2f mm]" <rain>
rule
rule "WSRainCounter update"
when
Item WSRainCounter changed or
Time cron " 0 0/1 * 1/1 * ? *"
then
try{
// logInfo("WSRainCounter update Rule", "triggered")
val lastHour = WSRainCounter.deltaSince(now.minusHours(1), "influxdb")
val last24h = WSRainCounter.deltaSince(now.minusHours(24), "influxdb")
val last7d = WSRainCounter.deltaSince(now.minusHours(7*24), "influxdb")
val last30d = WSRainCounter.deltaSince(now.minusHours(30*24), "influxdb")
// logInfo("WSRainCounter update Rule", String.valueOf(lastHour))
// logInfo("WSRainCounter update Rule", String.valueOf(last24h))
// logInfo("WSRainCounter update Rule", String.valueOf(last7d))
// logInfo("WSRainCounter update Rule", String.valueOf(last30d))
if (WSRainLastHour.state as Number != lastHour as Number)
WSRainLastHour.postUpdate(lastHour as Number)
if (WSRainLast24h.state as Number != last24h as Number)
WSRainLast24h.postUpdate(last24h as Number)
if (WSRainLast7d.state as Number != last7d as Number)
WSRainLast7d.postUpdate(last7d as Number)
if (WSRainLast30d.state as Number != last30d as Number)
WSRainLast30d.postUpdate(last30d as Number)
} catch(Exception e) {
// initiate items
WSRainLastHour.postUpdate(0.0)
WSRainLast24h.postUpdate(0.0)
WSRainLast7d.postUpdate(0.0)
WSRainLast30d.postUpdate(0.0)
}
// logInfo("WSRainCounter update Rule", "exit")
end