Hi all,
I’m searching the forum now for a while but can*t find a solution for my problem.
I got a Power Meter from NorthQ and managed to integrate it with OH2 and the zway Binding 2.2.0.
I also manged to set the config for the calculation values.
No the problems start-> I*m not receiving any values from the device. I found two hints in the docs.
1st: You have to set the “Times Parameters” because without the device will not wake up
2nd: You have to request the “Meter Table” because the device will not send the values on it’s own.
Now my questions:
Has anyone managed to get the device working?
How can I set the Times Parameters as they are not in the HabMin configuration?
How can I send the Meter Table request in zwave binding 2.2.0?
I found only examples for the binding version 1.1.0!
I have a NorthQ 9021, configured it via Habmin and it is working.
Sometimes it takes some hours after a system restart to send measurements.
You can manually trigger a transmission with the device button, I think - do you get a measurement with this?
Thanks for the Info!
Can you please tell me your item config and ruleset if you have one.
After initialization I get one Value, thats it so far.
If I press the button once I see a refresh in the log for the node but the value dosn’t change.
I heard that I have to request the value via a command, but couldn’t find any details.
// #part# NQ-9021 Power/Energy meter für gesamtes Haus
Group Energy_Chart
Group Energy_Chart2
Group Energy_Chart3
Number House_total_Energy "Hausverbrauch - Energie [%.2f kWh]" <energy> (Energy_Chart)
Number House_delta_Energy "Hausverbrauch - DeltaEnergie [%.2f kWh]" <energy> (Energy_Chart2)
Number House_total_Power "Hausverbrauch - Leistung [%.0f W]" <energy> (Energy_Chart3) //calculated via script!
Number House_total_Battery "Hausverbrauch Batterie [%d %%]" <battery> (gBattery)
DateTime House_total_Energy_LastUpdate "Letzte Aktualisierung [%1$td.%1$tm. %1$tH:%1$tM]" <clock>
Number Energy_Chart_Period "Zeitraum" <chart>
Sitemap:
Text item=House_total_Power
{
Frame // House Energy
{
Text item=House_total_Power
Text item=House_total_Energy
Text item=House_delta_Energy
Text item=House_total_Battery
Text item=House_total_Energy_LastUpdate
}
Frame // House Energy Chart
{
Switch item=Energy_Chart_Period mappings=[0="Stunde", 1="Tag", 2="Woche"]
Chart item=Energy_Chart period=h refresh=6000 legend=true visibility=[Energy_Chart_Period==0, Energy_Chart_Period=="Uninitialized", Energy_Chart_Period==NULL]
Chart item=Energy_Chart period=D refresh=30000 legend=true visibility=[Energy_Chart_Period==1]
Chart item=Energy_Chart period=W refresh=30000 legend=true visibility=[Energy_Chart_Period==2]
}
Frame // House Power Chart
{
Chart item=Energy_Chart3 period=h refresh=6000 legend=true visibility=[Energy_Chart_Period==0, Energy_Chart_Period=="Uninitialized", Energy_Chart_Period==NULL]
Chart item=Energy_Chart3 period=D refresh=30000 legend=true visibility=[Energy_Chart_Period==1]
Chart item=Energy_Chart3 period=W refresh=30000 legend=true visibility=[Energy_Chart_Period==2]
}
Frame // House Delta Energy Chart
{
Chart item=Energy_Chart2 period=h refresh=6000 legend=true visibility=[Energy_Chart_Period==0, Energy_Chart_Period=="Uninitialized", Energy_Chart_Period==NULL]
Chart item=Energy_Chart2 period=D refresh=30000 legend=true visibility=[Energy_Chart_Period==1]
Chart item=Energy_Chart2 period=W refresh=30000 legend=true visibility=[Energy_Chart_Period==2]
}
} // end of Text item=House_total_Power
Rules:
// For House_total_Energy
var long EnergyLastUpdateTime = 0
// and the last energy
var double LastEnergy = 0.0
rule "Restores last Energy total House update time at system startup"
when
System started
then
if(House_total_Energy_LastUpdate.state != NULL)
EnergyLastUpdateTime = (House_total_Energy_LastUpdate.state as DateTimeType).zonedDateTime.toInstant().toEpochMilli
else
// In case we have no last value to be restored
EnergyLastUpdateTime = now.millis
LastEnergy = (House_total_Energy.state as DecimalType).doubleValue()
logInfo("EnergyLastUpdateTime", "House_total_Energy restored to " + String.format("%.3f", LastEnergy) + " kWh")
end
rule "Records last Energy total House and resulting Power"
when
Item House_total_Energy received update
then
if(SystemStarted_delayed.state == ON)
{
var double energy
var double delta_energy
var double power
val actual_time_in_ms = now.millis
val deltaTInMS = (actual_time_in_ms - EnergyLastUpdateTime)
EnergyLastUpdateTime = actual_time_in_ms
// Do not calc power if 2 updates are < 3 secs apart
if(deltaTInMS > 3000 || House_total_Energy_LastUpdate.state == NULL)
{
House_total_Energy_LastUpdate.postUpdate(new DateTimeType())
energy = (House_total_Energy.state as DecimalType).doubleValue()
logInfo("Energy Loginfo", "Total Energy update: LastEnergy " + String.format("%.3f", LastEnergy) + " kWh")
logInfo("Energy Loginfo", "Total Energy update: new energy " + String.format("%.3f", energy) + " kWh")
delta_energy = energy - LastEnergy
if(delta_energy < 0)
{
delta_energy = 0
logInfo("Energy Loginfo", "Total Energy update: delta_energy limited to " + String.format("%.3f", delta_energy) + " kWh")
}
else
logInfo("Energy Loginfo", "Total Energy update: delta_energy " + String.format("%.3f", delta_energy) + " kWh")
House_delta_Energy.postUpdate(delta_energy)
logInfo("Energy Loginfo", "Total Energy update: deltaTInMS " + deltaTInMS + " ms")
power = (delta_energy * 1000 * 3600 * 1000 / deltaTInMS ) // kWh -> W
logInfo("Energy Loginfo", "Total Energy update: power " + String.format("%.3f", power) + " W")
if(power > 5000)
{
power = 5000
logInfo("Energy Loginfo", "Total Energy update: power limited to " + String.format("%.3f", power) + " W")
}
House_total_Power.postUpdate(power)
} // if(deltaTInMS > 3000), Do not calc power if 2 updates are < 3 secs apart
LastEnergy = (House_total_Energy.state as DecimalType).doubleValue()
}
end
I have set the following parameters via Habmin:
pulse factor (1024 here, depending on your meter)
wakeup interval (900 for 15 min here - this is how often the devices sends data)
No, nothing special, but I remember that I added it to the network near the Z-Wave controller, not in place with the energy meter. Did you wake it up several times via button to finish inclusion?
Update: Now my 9021 does not send any measurements any more.
There are several mains-powered z-wave wall-plugs nearby which could act as repeater, so zwave range should not be a problem.
I have removed the 9021 from the network and added it again, but now even the type is not discovered correctly…