Regex help needed (Serial binding)

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

3 Likes