Solution, found.
Thanks for all the feedback. Indeed, OpenHAB is open enough to allow workarounds, and this is the one I made:
In .items
:
String UtilityMeterReading "Power Meter Reading" { serial="/dev/ttyACM0" }
Number UtilityMeter68 "Power Meter 68" {}
Number UtilityMeter69 "Power Meter 69" {}
Number UtilityMeter70 "Power Meter 70" {}
In .rules
:
/**
* This rule updates UtilityMeter68/69/70 based when UtilityMeterReading changes
**/
rule "Update Power Meter Readings"
when
Item UtilityMeterReading received update
then
logDebug("UPMR","UPMR got triggered with state "+UtilityMeterReading.state.toString)
var String[] reading = UtilityMeterReading.state.toString.split("[,*]")
logDebug("UPMR", "Meter ID " + reading.get(1))
logDebug("UPMR", "Reading " + reading.get(3))
var Number kWh = new Integer(reading.get(3))
switch (reading.get(1)) {
case "12346670" : postUpdate(UtilityMeter70, kWh)
case "12346669" : postUpdate(UtilityMeter69, kWh)
case "12346668" : postUpdate(UtilityMeter68, kWh)
}
end
(I will change received update
to changed
when I run this for reals.)
Pretty clever, if I do say so myself.
Anywho, again, thanks for all your help!
/Bill