[New Binding] Rainforest Eagle 200 local binding

Well, that’s supposed to work just like any other channel in a thing, but it seems that dynamically created OHAB channels (that this binding uses) don’t work the way they’re supposed to. Is it the same for you that when clicking on a channel button (the round blue blob) in paper ui nothing happens? Seems there are a few threads flying around, with no real conclusion.

What worked for me was adding a item with a channel link to the .items file.

String EnergyDemandCurrent  "Energy Demand" {channel="eagle200:eagle200_electric_meter:0x0000000000000000:InstantaneousDemand"}

Replace the electric meter channel id with your own channel id

Not sure why that works, but linking via paper ui doesn’t. It does have something to do with creating channels dynamically, but there isn’t much documentation available.

Cheers,
-Th

Yeah, nothing happens. I figured there was some bug somewhere.

Mapping the channel to an item using the .items file worked for me!

Thank you very much!
Greg

Hi Thomas,

I’ve been running the binding with 2.3.0 RC1 and RC2, for what I’m doing it’s doing what I want. Thank you for creating this local binding!

Here is what I created in HABPanel, still a work in progress!

Greg

Please bear with me - this is the first time I’ve installed a third-party binding in OpenHAB, so I might be missing something crucial.

I’ve just set up my new Eagle-200, and it appears to be reporting correctly to the cloud. It is also discovered by the Eagle in OpenHAB2 (release 2.3.0), apparently correctly, and I have inserted the correct Install code into the configuration of the automatically discovered (bridge) thing via PaperUI.

However, I then get the following errors appearing in the log:

00:25:52.445 [WARN ] [le200.discovery.EagleDiscoveryService] - connection to Eagle failed, stopping device scan. Fix network or configuration: Server returned HTTP response code: 401 for URL: http://192.168.11.98/cgi-bin/post_manager

This repeats every 15 seconds. It does not offer me any “Meter” thing. Is there additional configuration required somewhere, or is it possible (likely?) that my utility reports something slightly differently to others tested so far (I’m in Australia, and I suspect the first person to try out this binding/device combo here), and that that is breaking it?

AARGH never mind - I had accepted an auto-complete, but it hadn’t actually saved the part that was completed. Had the wrong key in the Install code. Now working much better… off to play!

I’ve found a new problem with this binding on my OH2 system - at least, it might be new, or it might be a new presentation of an existing problem. I had this running without any trouble for several days, then yesterday I noticed it had not been reporting any data for about a day. I assumed it was the elsewhere-reported bug of the Eagle stopping responding to local queries, so I just power-cycled the Eagle when I got home. However, doing so did not appear to work. Checking the logs, it kept telling me following discovery that it already had the corresponding “thing”, but it did not appear to get any data from it. Stopping and restarting OpenHAB seems to have got it going again, but is there anything I should try and trace if/when this happens again? I’m trying to avoid stop/starts of OpenHAB at the moment due to the exceedingly painful HomeKit bridge bug.

OK - I can now follow up on the above problem in much more detail, as it has recurred just overnight. Resolution of the problem did not involve doing anything at all with the Eagle itself, but did require a restart of OpenHAB. First is the log output (trace level) from when it wasn’t working. At 09:51 I went to the Inbox in PaperUI and asked it to search for things (prior to that, just the same two line pattern was recurring with nothing else).

09:49:19.746 [INFO ] [gle200.internal.Eagle200Configuration] - missing or empty hostname
09:49:19.746 [DEBUG] [le200.discovery.EagleDiscoveryService] - connection to Eagle failed, leaving device scan. Fix configuration
09:49:34.749 [INFO ] [gle200.internal.Eagle200Configuration] - missing or empty hostname
09:49:34.750 [DEBUG] [le200.discovery.EagleDiscoveryService] - connection to Eagle failed, leaving device scan. Fix configuration
09:50:34.764 [INFO ] [gle200.internal.Eagle200Configuration] - missing or empty hostname
09:50:34.765 [DEBUG] [le200.discovery.EagleDiscoveryService] - connection to Eagle failed, leaving device scan. Fix configuration
09:50:49.766 [INFO ] [gle200.internal.Eagle200Configuration] - missing or empty hostname
09:50:49.766 [DEBUG] [le200.discovery.EagleDiscoveryService] - connection to Eagle failed, leaving device scan. Fix configuration
09:51:00.448 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - eagle200 id found: eagle-00a578 with type: _http._tcp.local.
09:51:00.448 [INFO ] [gle200.internal.Eagle200Configuration] - missing or empty hostname
09:51:00.448 [DEBUG] [le200.discovery.EagleDiscoveryService] - connection to Eagle failed, leaving device scan. Fix configuration
09:51:00.448 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo: [ServiceInfoImpl@407199125 name: 'Web Server on eagle-00a578._00000000-059f-d805-9add-84960ff94155._sub._http._tcp.local.' address: '(null):0' status: 'DNS: JmDNS-IP-1 [/2001:44b8:417c:5500:43a:8ba4:24c0:97ce%en0] state: probing 1 task: null' is persistent, has NO data, empty]
09:51:00.449 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo addr: <none>
09:51:00.449 [WARN ] [iscovery.Eagle200DiscoveryParticipant] - Discovered a Eagle 200 thing with id 'eagle-00a578'
09:51:00.449 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - eagle200 id found: eagle-00a578 with type: _http._tcp.local.
09:51:00.450 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo: [ServiceInfoImpl@377659629 name: 'Web Server on eagle-00a578._00000000-059f-d805-9add-84960ff94155._sub._http._tcp.local.' address: '(null):0' status: 'DNS: JmDNS-IP-2 [/2001:44b8:417c:5500:6c65:50c4:281f:3453%en0] state: probing 1 task: null' is persistent, has NO data, empty]
09:51:00.450 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo addr: <none>
09:51:00.450 [WARN ] [iscovery.Eagle200DiscoveryParticipant] - Discovered a Eagle 200 thing with id 'eagle-00a578'
09:51:00.450 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - eagle200 id found: eagle-00a578 with type: _http._tcp.local.
09:51:00.451 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo: [ServiceInfoImpl@314390245 name: 'Web Server on eagle-00a578._00000000-059f-d805-9add-84960ff94155._sub._http._tcp.local.' address: '/192.168.11.98:80 ' status: 'DNS: JmDNS-IP-3 [/192.168.11.5] state: probing 1 task: null' is persistent, has data
	path: /]
09:51:00.451 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo addr: 192.168.11.98
09:51:00.451 [WARN ] [iscovery.Eagle200DiscoveryParticipant] - Discovered a Eagle 200 thing with id 'eagle-00a578'
09:51:00.453 [DEBUG] [eagle200.handler.Eagle200MeterHandler] - bridgeStatusChanged for eagle200:eagle200_electric_meter:0x00135003007dae51
09:51:00.453 [DEBUG] [le200.discovery.EagleDiscoveryService] - Start eagle200 device background discovery
09:51:00.453 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'eagle200:eagle200_bridge:eagle-00a578' changed from OFFLINE (CONFIGURATION_ERROR) to ONLINE
09:51:00.454 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'eagle200:eagle200_bridge:eagle-00a578' has been updated.
09:51:02.556 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter query 0x00135003007dae51: <Device>  <DeviceDetails>    <Name>Power Meter</Name>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <NetworkInterface>0xd8d5b9000000f644</NetworkInterface>    <Protocol>Zigbee</Protocol>    <NetworkAddress>0x0000</NetworkAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <LastContact>0x5b3422e2</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>  </DeviceDetails>  <Components>    <Component>      <HardwareId></HardwareId>      <FixedId>0</FixedId>      <Name>Main</Name>      <Variables>        <Variable>          <Name>zigbee:InstantaneousDemand</Name>          <Value>0.733000</Value>          <Units>kW</Units>          <Description>Instantaneous Demand</Description>        </Variable>        <Variable>          <Name>zigbee:Multiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Multiplier applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:Divisor</Name>          <Value>1000</Value>          <Units></Units>          <Description>Divsior applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationDelivered</Name>          <Value>2530.511000</Value>          <Units>kWh</Units>          <Description>Summation Delivered to Home</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationReceived</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>Summation Received from Home</Description>        </Variable>        <Variable>          <Name>zigbee:Price</Name>          <Value>0.000000</Value>          <Units></Units>          <Description>Price of electricity</Description>        </Variable>        <Variable>          <Name>zigbee:TrailingDigits</Name>          <Value>255</Value>          <Units></Units>          <Description>Indicates the number of digits to the right of the decimal point</Description>        </Variable>        <Variable>          <Name>zigbee:RateLabel</Name>          <Value></Value>          <Units></Units>          <Description>Active priuce rate label</Description>        </Variable>        <Variable>          <Name>zigbee:Currency</Name>          <Value>USD</Value>          <Units></Units>          <Description>The local unit of currency used in the price field</Description>        </Variable>        <Variable>          <Name>zigbee:PriceTier</Name>          <Value>0</Value>          <Units></Units>          <Description>The current Price Tier</Description>        </Variable>        <Variable>          <Name>zigbee:PriceStartTime</Name>          <Value>Sat Jan  1 00:00:00 2000</Value>          <Units></Units>          <Description>The time at which the price signal becomes valid</Description>        </Variable>        <Variable>          <Name>zigbee:PriceDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>Amount of time in minutes after the Start Time during which the price signal is valid</Description>        </Variable>        <Variable>          <Name>zigbee:Message</Name>          <Value></Value>          <Units></Units>          <Description>Message from utility to customer</Description>        </Variable>        <Variable>          <Name>zigbee:MessageId</Name>          <Value></Value>          <Units></Units>          <Description>Message unique ID</Description>        </Variable>        <Variable>          <Name>zigbee:MessageStartTime</Name>          <Value></Value>          <Units></Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessageDurationInMinutes</Name>          <Value></Value>          <Units>min</Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessagePriority</Name>          <Value></Value>          <Units></Units>          <Description>Message priority</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmationRequired</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message requires user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmed</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message has received user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodNumberOfBlocks</Name>          <Value>0</Value>          <Units></Units>          <Description></Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodConsumption</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>The most recent summed value of Energy, Gas or Water delivered and consumed in the premises during the Block Tariff Period</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodStart</Name>          <Value>946684800</Value>          <Units></Units>          <Description>The start time of the current block tariff period</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>The current block tariff period duration in minutes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdMultiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to be multiplied against Threshold attributes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdDivisor</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to divide the result of applying the threshold multiplier attribute to Block Threshold values</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodStart</Name>          <Value>1529154371</Value>          <Units></Units>          <Description>The start time of the current billing period</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodDuration</Name>          <Value>61874962</Value>          <Units>min</Units>          <Description>The current billing period duration in minutes</Description>        </Variable>      </Variables>    </Component>  </Components></Device>
09:51:04.770 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:51:05.953 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b3422e2</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
09:51:05.954 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
09:51:20.957 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:51:22.288 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b3422f2</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
09:51:22.289 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
09:51:37.293 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:51:38.646 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b342302</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
09:51:38.646 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists

Post-restart log output to follow in another message due length limitations.

Then, here is just the log output relating to the Eagle 200 following an OpenHAB restart:

09:55:58.671 [DEBUG] [org.openhab.binding.eagle200         ] - BundleEvent [unknown:512] - org.openhab.binding.eagle200
09:55:58.674 [DEBUG] [org.openhab.binding.eagle200         ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.mdns.MDNSDiscoveryParticipant}={service.id=132, service.bundleid=244, service.scope=bundle, component.name=org.openhab.binding.eagle200.discovery.Eagle200DiscoveryParticipant, component.id=36} - org.openhab.binding.eagle200
09:55:58.676 [DEBUG] [org.openhab.binding.eagle200         ] - BundleEvent STARTING - org.openhab.binding.eagle200
09:55:58.677 [DEBUG] [org.openhab.binding.eagle200         ] - BundleEvent STARTED - org.openhab.binding.eagle200
09:55:58.680 [DEBUG] [org.openhab.binding.eagle200         ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=133, service.bundleid=244, service.scope=bundle, component.name=org.openhab.binding.eagle200.internal.Eagle200HandlerFactory, component.id=37} - org.openhab.binding.eagle200
09:56:03.350 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - eagle200 id found: eagle-00a578 with type: _http._tcp.local.
09:56:03.396 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo: [ServiceInfoImpl@1849353125 name: 'Web Server on eagle-00a578._http._tcp.local.' address: '(null):0' status: 'DNS: JmDNS-IP-3 [/192.168.11.5] state: probing 1 task: null', has NO data, empty]
09:56:03.397 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo addr: <none>
09:56:03.397 [WARN ] [iscovery.Eagle200DiscoveryParticipant] - Discovered a Eagle 200 thing with id 'eagle-00a578'
09:56:03.401 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - eagle200 id found: eagle-00a578 with type: _http._tcp.local.
09:56:03.402 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo: [ServiceInfoImpl@566233641 name: 'Web Server on eagle-00a578._http._tcp.local.' address: '/192.168.11.98:80 ' status: 'DNS: JmDNS-IP-3 [/192.168.11.5] state: probing 1 task: null' is persistent, has data
	path: /]
09:56:03.403 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo addr: 192.168.11.98
09:56:03.403 [WARN ] [iscovery.Eagle200DiscoveryParticipant] - Discovered a Eagle 200 thing with id 'eagle-00a578'
09:56:09.240 [INFO ] [smarthome.event.InboxAddedEvent      ] - Discovery Result with UID 'eagle200:eagle200_bridge:eagle-00a578' has been added.
09:56:09.240 [INFO ] [ig.discovery.internal.PersistentInbox] - Added new thing 'eagle200:eagle200_bridge:eagle-00a578' to inbox.
09:56:09.410 [INFO ] [smarthome.event.InboxRemovedEvent    ] - Discovery Result with UID 'eagle200:eagle200_bridge:eagle-00a578' has been removed.
09:56:09.769 [DEBUG] [le200.internal.Eagle200HandlerFactory] - Eagle discovery service activating
09:56:09.771 [DEBUG] [le200.discovery.EagleDiscoveryService] - Start eagle200 device background discovery
09:56:09.774 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:56:09.774 [WARN ] [le200.discovery.EagleDiscoveryService] - connection to Eagle failed, stopping device scan. Fix network or configuration: getBaseURL(): Connection is not configured: configuration = null
09:56:09.775 [DEBUG] [org.openhab.binding.eagle200         ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=298, service.bundleid=244, service.scope=singleton} - org.openhab.binding.eagle200
09:56:09.776 [DEBUG] [le200.internal.Eagle200HandlerFactory] - registerBridgeDiscoveryService(): Bridge Handler - org.openhab.binding.eagle200.handler.Eagle200BridgeHandler@73ab83e6, Class Name - org.eclipse.smarthome.config.discovery.DiscoveryService, Discovery Service - org.openhab.binding.eagle200.discovery.EagleDiscoveryService@75717f58
09:56:09.778 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'eagle200:eagle200_bridge:eagle-00a578' changed from UNINITIALIZED to INITIALIZING
09:56:09.780 [DEBUG] [le200.discovery.EagleDiscoveryService] - Start eagle200 device background discovery
09:56:09.781 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'eagle200:eagle200_bridge:eagle-00a578' changed from INITIALIZING to ONLINE
09:56:09.784 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'eagle200:eagle200_electric_meter:0x00135003007dae51' changed from UNINITIALIZED to INITIALIZING
09:56:11.491 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter query 0x00135003007dae51: <Device>  <DeviceDetails>    <Name>Power Meter</Name>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <NetworkInterface>0xd8d5b9000000f644</NetworkInterface>    <Protocol>Zigbee</Protocol>    <NetworkAddress>0x0000</NetworkAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <LastContact>0x5b342412</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>  </DeviceDetails>  <Components>    <Component>      <HardwareId></HardwareId>      <FixedId>0</FixedId>      <Name>Main</Name>      <Variables>        <Variable>          <Name>zigbee:InstantaneousDemand</Name>          <Value>0.681000</Value>          <Units>kW</Units>          <Description>Instantaneous Demand</Description>        </Variable>        <Variable>          <Name>zigbee:Multiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Multiplier applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:Divisor</Name>          <Value>1000</Value>          <Units></Units>          <Description>Divsior applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationDelivered</Name>          <Value>2530.597000</Value>          <Units>kWh</Units>          <Description>Summation Delivered to Home</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationReceived</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>Summation Received from Home</Description>        </Variable>        <Variable>          <Name>zigbee:Price</Name>          <Value>0.000000</Value>          <Units></Units>          <Description>Price of electricity</Description>        </Variable>        <Variable>          <Name>zigbee:TrailingDigits</Name>          <Value>255</Value>          <Units></Units>          <Description>Indicates the number of digits to the right of the decimal point</Description>        </Variable>        <Variable>          <Name>zigbee:RateLabel</Name>          <Value></Value>          <Units></Units>          <Description>Active priuce rate label</Description>        </Variable>        <Variable>          <Name>zigbee:Currency</Name>          <Value>USD</Value>          <Units></Units>          <Description>The local unit of currency used in the price field</Description>        </Variable>        <Variable>          <Name>zigbee:PriceTier</Name>          <Value>0</Value>          <Units></Units>          <Description>The current Price Tier</Description>        </Variable>        <Variable>          <Name>zigbee:PriceStartTime</Name>          <Value>Sat Jan  1 00:00:00 2000</Value>          <Units></Units>          <Description>The time at which the price signal becomes valid</Description>        </Variable>        <Variable>          <Name>zigbee:PriceDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>Amount of time in minutes after the Start Time during which the price signal is valid</Description>        </Variable>        <Variable>          <Name>zigbee:Message</Name>          <Value></Value>          <Units></Units>          <Description>Message from utility to customer</Description>        </Variable>        <Variable>          <Name>zigbee:MessageId</Name>          <Value></Value>          <Units></Units>          <Description>Message unique ID</Description>        </Variable>        <Variable>          <Name>zigbee:MessageStartTime</Name>          <Value></Value>          <Units></Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessageDurationInMinutes</Name>          <Value></Value>          <Units>min</Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessagePriority</Name>          <Value></Value>          <Units></Units>          <Description>Message priority</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmationRequired</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message requires user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmed</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message has received user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodNumberOfBlocks</Name>          <Value>0</Value>          <Units></Units>          <Description></Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodConsumption</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>The most recent summed value of Energy, Gas or Water delivered and consumed in the premises during the Block Tariff Period</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodStart</Name>          <Value>946684800</Value>          <Units></Units>          <Description>The start time of the current block tariff period</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>The current block tariff period duration in minutes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdMultiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to be multiplied against Threshold attributes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdDivisor</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to divide the result of applying the threshold multiplier attribute to Block Threshold values</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodStart</Name>          <Value>1529154371</Value>          <Units></Units>          <Description>The start time of the current billing period</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodDuration</Name>          <Value>61874962</Value>          <Units>min</Units>          <Description>The current billing period duration in minutes</Description>        </Variable>      </Variables>    </Component>  </Components></Device>
Security framework of XStream not initialized, XStream is probably vulnerable.
09:56:11.531 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'eagle200:eagle200_electric_meter:0x00135003007dae51' has been updated.
09:56:11.534 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'eagle200:eagle200_electric_meter:0x00135003007dae51' changed from INITIALIZING to ONLINE
09:56:14.200 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter query 0x00135003007dae51: <Device>  <DeviceDetails>    <Name>Power Meter</Name>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <NetworkInterface>0xd8d5b9000000f644</NetworkInterface>    <Protocol>Zigbee</Protocol>    <NetworkAddress>0x0000</NetworkAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <LastContact>0x5b34241a</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>  </DeviceDetails>  <Components>    <Component>      <HardwareId></HardwareId>      <FixedId>0</FixedId>      <Name>Main</Name>      <Variables>        <Variable>          <Name>zigbee:InstantaneousDemand</Name>          <Value>0.681000</Value>          <Units>kW</Units>          <Description>Instantaneous Demand</Description>        </Variable>        <Variable>          <Name>zigbee:Multiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Multiplier applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:Divisor</Name>          <Value>1000</Value>          <Units></Units>          <Description>Divsior applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationDelivered</Name>          <Value>2530.597000</Value>          <Units>kWh</Units>          <Description>Summation Delivered to Home</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationReceived</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>Summation Received from Home</Description>        </Variable>        <Variable>          <Name>zigbee:Price</Name>          <Value>0.000000</Value>          <Units></Units>          <Description>Price of electricity</Description>        </Variable>        <Variable>          <Name>zigbee:TrailingDigits</Name>          <Value>255</Value>          <Units></Units>          <Description>Indicates the number of digits to the right of the decimal point</Description>        </Variable>        <Variable>          <Name>zigbee:RateLabel</Name>          <Value></Value>          <Units></Units>          <Description>Active priuce rate label</Description>        </Variable>        <Variable>          <Name>zigbee:Currency</Name>          <Value>USD</Value>          <Units></Units>          <Description>The local unit of currency used in the price field</Description>        </Variable>        <Variable>          <Name>zigbee:PriceTier</Name>          <Value>0</Value>          <Units></Units>          <Description>The current Price Tier</Description>        </Variable>        <Variable>          <Name>zigbee:PriceStartTime</Name>          <Value>Sat Jan  1 00:00:00 2000</Value>          <Units></Units>          <Description>The time at which the price signal becomes valid</Description>        </Variable>        <Variable>          <Name>zigbee:PriceDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>Amount of time in minutes after the Start Time during which the price signal is valid</Description>        </Variable>        <Variable>          <Name>zigbee:Message</Name>          <Value></Value>          <Units></Units>          <Description>Message from utility to customer</Description>        </Variable>        <Variable>          <Name>zigbee:MessageId</Name>          <Value></Value>          <Units></Units>          <Description>Message unique ID</Description>        </Variable>        <Variable>          <Name>zigbee:MessageStartTime</Name>          <Value></Value>          <Units></Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessageDurationInMinutes</Name>          <Value></Value>          <Units>min</Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessagePriority</Name>          <Value></Value>          <Units></Units>          <Description>Message priority</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmationRequired</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message requires user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmed</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message has received user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodNumberOfBlocks</Name>          <Value>0</Value>          <Units></Units>          <Description></Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodConsumption</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>The most recent summed value of Energy, Gas or Water delivered and consumed in the premises during the Block Tariff Period</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodStart</Name>          <Value>946684800</Value>          <Units></Units>          <Description>The start time of the current block tariff period</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>The current block tariff period duration in minutes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdMultiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to be multiplied against Threshold attributes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdDivisor</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to divide the result of applying the threshold multiplier attribute to Block Threshold values</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodStart</Name>          <Value>1529154371</Value>          <Units></Units>          <Description>The start time of the current billing period</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodDuration</Name>          <Value>61874962</Value>          <Units>min</Units>          <Description>The current billing period duration in minutes</Description>        </Variable>      </Variables>    </Component>  </Components></Device>
09:56:14.224 [INFO ] [smarthome.event.ItemStateChangedEvent] - elecDemand changed from NULL to 0.681000
09:56:21.249 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - eagle200 id found: eagle-00a578 with type: _http._tcp.local.
09:56:21.249 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo: [ServiceInfoImpl@566233641 name: 'Web Server on eagle-00a578._http._tcp.local.' address: '/192.168.11.98:80 ' status: 'DNS: JmDNS-IP-3 [/192.168.11.5] state: probing 1 task: null' is persistent, has data
	path: /]
09:56:21.250 [DEBUG] [iscovery.Eagle200DiscoveryParticipant] - ServiceInfo addr: 192.168.11.98
09:56:21.250 [WARN ] [iscovery.Eagle200DiscoveryParticipant] - Discovered a Eagle 200 thing with id 'eagle-00a578'

[cont’d]

[continues]

09:56:24.779 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:56:26.076 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b342422</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
09:56:26.081 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
09:56:41.086 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:56:42.391 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b342431</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
09:56:42.393 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
09:56:57.394 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:56:58.624 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b342441</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
09:56:58.626 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
09:57:13.630 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
09:57:14.946 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b342451</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
09:57:14.947 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
09:57:15.687 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter query 0x00135003007dae51: <Device>  <DeviceDetails>    <Name>Power Meter</Name>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <NetworkInterface>0xd8d5b9000000f644</NetworkInterface>    <Protocol>Zigbee</Protocol>    <NetworkAddress>0x0000</NetworkAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <LastContact>0x5b342459</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>  </DeviceDetails>  <Components>    <Component>      <HardwareId></HardwareId>      <FixedId>0</FixedId>      <Name>Main</Name>      <Variables>        <Variable>          <Name>zigbee:InstantaneousDemand</Name>          <Value>0.521000</Value>          <Units>kW</Units>          <Description>Instantaneous Demand</Description>        </Variable>        <Variable>          <Name>zigbee:Multiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Multiplier applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:Divisor</Name>          <Value>1000</Value>          <Units></Units>          <Description>Divsior applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationDelivered</Name>          <Value>2530.597000</Value>          <Units>kWh</Units>          <Description>Summation Delivered to Home</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationReceived</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>Summation Received from Home</Description>        </Variable>        <Variable>          <Name>zigbee:Price</Name>          <Value>0.000000</Value>          <Units></Units>          <Description>Price of electricity</Description>        </Variable>        <Variable>          <Name>zigbee:TrailingDigits</Name>          <Value>255</Value>          <Units></Units>          <Description>Indicates the number of digits to the right of the decimal point</Description>        </Variable>        <Variable>          <Name>zigbee:RateLabel</Name>          <Value></Value>          <Units></Units>          <Description>Active priuce rate label</Description>        </Variable>        <Variable>          <Name>zigbee:Currency</Name>          <Value>USD</Value>          <Units></Units>          <Description>The local unit of currency used in the price field</Description>        </Variable>        <Variable>          <Name>zigbee:PriceTier</Name>          <Value>0</Value>          <Units></Units>          <Description>The current Price Tier</Description>        </Variable>        <Variable>          <Name>zigbee:PriceStartTime</Name>          <Value>Sat Jan  1 00:00:00 2000</Value>          <Units></Units>          <Description>The time at which the price signal becomes valid</Description>        </Variable>        <Variable>          <Name>zigbee:PriceDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>Amount of time in minutes after the Start Time during which the price signal is valid</Description>        </Variable>        <Variable>          <Name>zigbee:Message</Name>          <Value></Value>          <Units></Units>          <Description>Message from utility to customer</Description>        </Variable>        <Variable>          <Name>zigbee:MessageId</Name>          <Value></Value>          <Units></Units>          <Description>Message unique ID</Description>        </Variable>        <Variable>          <Name>zigbee:MessageStartTime</Name>          <Value></Value>          <Units></Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessageDurationInMinutes</Name>          <Value></Value>          <Units>min</Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessagePriority</Name>          <Value></Value>          <Units></Units>          <Description>Message priority</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmationRequired</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message requires user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmed</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message has received user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodNumberOfBlocks</Name>          <Value>0</Value>          <Units></Units>          <Description></Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodConsumption</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>The most recent summed value of Energy, Gas or Water delivered and consumed in the premises during the Block Tariff Period</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodStart</Name>          <Value>946684800</Value>          <Units></Units>          <Description>The start time of the current block tariff period</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>The current block tariff period duration in minutes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdMultiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to be multiplied against Threshold attributes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdDivisor</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to divide the result of applying the threshold multiplier attribute to Block Threshold values</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodStart</Name>          <Value>1529154371</Value>          <Units></Units>          <Description>The start time of the current billing period</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodDuration</Name>          <Value>61874962</Value>          <Units>min</Units>          <Description>The current billing period duration in minutes</Description>        </Variable>      </Variables>    </Component>  </Components></Device>
09:57:15.697 [INFO ] [smarthome.event.ItemStateChangedEvent] - elecDemand changed from 0.681000 to 0.521000

Hopefully that’s enough info to track down why the binding is falling over!

OK - think I found it. This is the error that appears to have happened when it stopped getting data from the Eagle tonight (I’ve set up a timer to alert me when it stops reporting for 15 minutes).

20:09:17.665 [WARN ] [ommon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception
com.thoughtworks.xstream.io.StreamException: 
	at com.thoughtworks.xstream.io.xml.StaxReader.pullNextEvent(StaxReader.java:73) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:141) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.io.xml.StaxReader.<init>(StaxReader.java:45) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.io.xml.StaxDriver.createStaxReader(StaxDriver.java:173) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.io.xml.StaxDriver.createReader(StaxDriver.java:92) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1337) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1328) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at org.openhab.binding.eagle200.handler.Eagle200Connection.queryMeter(Eagle200Connection.java:112) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at org.openhab.binding.eagle200.handler.Eagle200MeterHandler$1.run(Eagle200MeterHandler.java:74) [244:org.openhab.binding.eagle200:0.0.6.201805191027]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:604) ~[?:?]
	at com.thoughtworks.xstream.io.xml.StaxReader.pullNextEvent(StaxReader.java:58) ~[?:?]
	... 18 more

For now, I’ll just restart OpenHAB, but hopefully this gives enough info to track down the problem.

Yes, thanks for that. I ran into the same problem awhile back, made a mental note to go back later and get the trace, but couldn’t find it when I was looking for it. So, this definitely helps.

Looks like the Eagle stops reporting every once in awhile. Sometimes it just keeps hanging and needs a reboot, sometimes it continues quite a while later and the reported data is corrupt. I’ll see what I can do about that I at least contain the exception in the handler so the poller doesn’t quit.

Thanks again!
-Th

Ok, just looked at my dev stuff, and it looks as I had that bug already fixed for another reason, I just had the new release never pushed to GH.

There is a new jar here: https://github.com/HentschelT/openhab2-addons/tree/master/addons/binding/org.openhab.binding.eagle200/releases

Let me know if the changes help in your case (it looks like your eagle cr@ps out more than mine, there was a SW update for the device, but I had to ask them to install it).

Cheers,
-Th

Mine stops functioning every couple of weeks. I have a case open with Rainforest. I suggest everyone seeing this issue open a case so they keep working on it and get a solution.

1 Like

Thanks for that - I’m installing it now, will let you know how it goes! If it stops picking up data again I’ll set it to trace logging and wait for my little warning script to let me know.

FWIW, it’s not really necessary to restart OH in this case. You can also just re-configure the eagle ‘thing’ via paperui, and it will kick the polling thread back on.

However, OH is a bit too smart for its own good: In order to relay a config change to the binding, there needs to be a real change to the prior config. So, you’ll have to change i.e. the install code to a invalid one and click the check-mark, then back to the valid one and confirm again.

Cheers,
-Th

OK - I’ll give reconfiguring the thing a go next time! In the mean time, I’ve got trace logging from a stoppage that required a restart to clear today (I’ve set up an automatic alert if it stops updating for 15 minutes).

The last successful update is at 18:28:10

Here’s the log output (after the end of this, the pattern continues repeating without significant variation, indefinitely):

18:26:26.862 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:26:41.864 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:26:43.325 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b543fba</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:26:43.325 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:26:58.331 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:26:59.857 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b543fca</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:26:59.858 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:27:08.988 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter query 0x00135003007dae51: <Device>  <DeviceDetails>    <Name>Power Meter</Name>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <NetworkInterface>0xd8d5b9000000f644</NetworkInterface>    <Protocol>Zigbee</Protocol>    <NetworkAddress>0x0000</NetworkAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <LastContact>0x5b543fdb</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>  </DeviceDetails>  <Components>    <Component>      <HardwareId></HardwareId>      <FixedId>0</FixedId>      <Name>Main</Name>      <Variables>        <Variable>          <Name>zigbee:InstantaneousDemand</Name>          <Value>0.885000</Value>          <Units>kW</Units>          <Description>Instantaneous Demand</Description>        </Variable>        <Variable>          <Name>zigbee:Multiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Multiplier applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:Divisor</Name>          <Value>1000</Value>          <Units></Units>          <Description>Divsior applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationDelivered</Name>          <Value>3046.040000</Value>          <Units>kWh</Units>          <Description>Summation Delivered to Home</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationReceived</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>Summation Received from Home</Description>        </Variable>        <Variable>          <Name>zigbee:Price</Name>          <Value>0.000000</Value>          <Units></Units>          <Description>Price of electricity</Description>        </Variable>        <Variable>          <Name>zigbee:TrailingDigits</Name>          <Value>255</Value>          <Units></Units>          <Description>Indicates the number of digits to the right of the decimal point</Description>        </Variable>        <Variable>          <Name>zigbee:RateLabel</Name>          <Value></Value>          <Units></Units>          <Description>Active priuce rate label</Description>        </Variable>        <Variable>          <Name>zigbee:Currency</Name>          <Value>USD</Value>          <Units></Units>          <Description>The local unit of currency used in the price field</Description>        </Variable>        <Variable>          <Name>zigbee:PriceTier</Name>          <Value>0</Value>          <Units></Units>          <Description>The current Price Tier</Description>        </Variable>        <Variable>          <Name>zigbee:PriceStartTime</Name>          <Value>Sat Jan  1 00:00:00 2000</Value>          <Units></Units>          <Description>The time at which the price signal becomes valid</Description>        </Variable>        <Variable>          <Name>zigbee:PriceDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>Amount of time in minutes after the Start Time during which the price signal is valid</Description>        </Variable>        <Variable>          <Name>zigbee:Message</Name>          <Value></Value>          <Units></Units>          <Description>Message from utility to customer</Description>        </Variable>        <Variable>          <Name>zigbee:MessageId</Name>          <Value></Value>          <Units></Units>          <Description>Message unique ID</Description>        </Variable>        <Variable>          <Name>zigbee:MessageStartTime</Name>          <Value></Value>          <Units></Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessageDurationInMinutes</Name>          <Value></Value>          <Units>min</Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessagePriority</Name>          <Value></Value>          <Units></Units>          <Description>Message priority</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmationRequired</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message requires user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmed</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message has received user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodNumberOfBlocks</Name>          <Value>0</Value>          <Units></Units>          <Description></Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodConsumption</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>The most recent summed value of Energy, Gas or Water delivered and consumed in the premises during the Block Tariff Period</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodStart</Name>          <Value>946684800</Value>          <Units></Units>          <Description>The start time of the current block tariff period</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>The current block tariff period duration in minutes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdMultiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to be multiplied against Threshold attributes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdDivisor</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to divide the result of applying the threshold multiplier attribute to Block Threshold values</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodStart</Name>          <Value>1529154371</Value>          <Units></Units>          <Description>The start time of the current billing period</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodDuration</Name>          <Value>61874962</Value>          <Units>min</Units>          <Description>The current billing period duration in minutes</Description>        </Variable>      </Variables>    </Component>  </Components></Device>
18:27:08.992 [INFO ] [smarthome.event.ItemStateChangedEvent] - elecDemand changed from 0.830000 to 0.885000
18:27:14.863 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:27:16.823 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b543fdb</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:27:16.823 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:27:31.831 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:27:33.887 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b543ff3</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:27:33.888 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:27:48.897 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:27:50.252 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544002</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:27:50.253 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:28:05.258 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:28:06.520 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544013</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:28:06.520 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:28:10.687 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter query 0x00135003007dae51: <Device>  <DeviceDetails>    <Name>Power Meter</Name>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <NetworkInterface>0xd8d5b9000000f644</NetworkInterface>    <Protocol>Zigbee</Protocol>    <NetworkAddress>0x0000</NetworkAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <LastContact>0x5b544013</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>  </DeviceDetails>  <Components>    <Component>      <HardwareId></HardwareId>      <FixedId>0</FixedId>      <Name>Main</Name>      <Variables>        <Variable>          <Name>zigbee:InstantaneousDemand</Name>          <Value>0.913000</Value>          <Units>kW</Units>          <Description>Instantaneous Demand</Description>        </Variable>        <Variable>          <Name>zigbee:Multiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Multiplier applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:Divisor</Name>          <Value>1000</Value>          <Units></Units>          <Description>Divsior applied to demand & summation values</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationDelivered</Name>          <Value>3046.099000</Value>          <Units>kWh</Units>          <Description>Summation Delivered to Home</Description>        </Variable>        <Variable>          <Name>zigbee:CurrentSummationReceived</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>Summation Received from Home</Description>        </Variable>        <Variable>          <Name>zigbee:Price</Name>          <Value>0.000000</Value>          <Units></Units>          <Description>Price of electricity</Description>        </Variable>        <Variable>          <Name>zigbee:TrailingDigits</Name>          <Value>255</Value>          <Units></Units>          <Description>Indicates the number of digits to the right of the decimal point</Description>        </Variable>        <Variable>          <Name>zigbee:RateLabel</Name>          <Value></Value>          <Units></Units>          <Description>Active priuce rate label</Description>        </Variable>        <Variable>          <Name>zigbee:Currency</Name>          <Value>USD</Value>          <Units></Units>          <Description>The local unit of currency used in the price field</Description>        </Variable>        <Variable>          <Name>zigbee:PriceTier</Name>          <Value>0</Value>          <Units></Units>          <Description>The current Price Tier</Description>        </Variable>        <Variable>          <Name>zigbee:PriceStartTime</Name>          <Value>Sat Jan  1 00:00:00 2000</Value>          <Units></Units>          <Description>The time at which the price signal becomes valid</Description>        </Variable>        <Variable>          <Name>zigbee:PriceDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>Amount of time in minutes after the Start Time during which the price signal is valid</Description>        </Variable>        <Variable>          <Name>zigbee:Message</Name>          <Value></Value>          <Units></Units>          <Description>Message from utility to customer</Description>        </Variable>        <Variable>          <Name>zigbee:MessageId</Name>          <Value></Value>          <Units></Units>          <Description>Message unique ID</Description>        </Variable>        <Variable>          <Name>zigbee:MessageStartTime</Name>          <Value></Value>          <Units></Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessageDurationInMinutes</Name>          <Value></Value>          <Units>min</Units>          <Description>Start time for current message</Description>        </Variable>        <Variable>          <Name>zigbee:MessagePriority</Name>          <Value></Value>          <Units></Units>          <Description>Message priority</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmationRequired</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message requires user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:MessageConfirmed</Name>          <Value>N</Value>          <Units></Units>          <Description>Indicates if the message has received user confirmation</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodNumberOfBlocks</Name>          <Value>0</Value>          <Units></Units>          <Description></Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodConsumption</Name>          <Value>0.000000</Value>          <Units>kWh</Units>          <Description>The most recent summed value of Energy, Gas or Water delivered and consumed in the premises during the Block Tariff Period</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Price</Name>          <Value></Value>          <Units>USD/kWh</Units>          <Description>The price of Energy, Gas, or Water delivered to the premises at a specific price tier</Description>        </Variable>        <Variable>          <Name>zigbee:Block1Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block2Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block3Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block4Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block5Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block6Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block7Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:Block8Threshold</Name>          <Value></Value>          <Units>kWh</Units>          <Description>the block threshold values for a given period (typically the billing cycle)</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodStart</Name>          <Value>946684800</Value>          <Units></Units>          <Description>The start time of the current block tariff period</Description>        </Variable>        <Variable>          <Name>zigbee:BlockPeriodDuration</Name>          <Value>0</Value>          <Units>min</Units>          <Description>The current block tariff period duration in minutes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdMultiplier</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to be multiplied against Threshold attributes</Description>        </Variable>        <Variable>          <Name>zigbee:BlockThresholdDivisor</Name>          <Value>1</Value>          <Units></Units>          <Description>Provides a value to divide the result of applying the threshold multiplier attribute to Block Threshold values</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodStart</Name>          <Value>1529154371</Value>          <Units></Units>          <Description>The start time of the current billing period</Description>        </Variable>        <Variable>          <Name>zigbee:BillingPeriodDuration</Name>          <Value>61874962</Value>          <Units>min</Units>          <Description>The current billing period duration in minutes</Description>        </Variable>      </Variables>    </Component>  </Components></Device>
18:28:10.690 [INFO ] [smarthome.event.ItemStateChangedEvent] - elecDemand changed from 0.885000 to 0.913000
18:28:21.530 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:28:22.731 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544022</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:28:22.732 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:28:37.732 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:28:39.020 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544032</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:28:39.021 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:28:54.027 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:28:55.364 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544042</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:28:55.365 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:29:10.372 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:29:11.614 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544053</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:29:11.615 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:29:26.624 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:29:28.072 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544062</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:29:28.073 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:29:43.080 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:29:44.411 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544073</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:29:44.411 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists
18:29:59.412 [TRACE] [le200.discovery.EagleDiscoveryService] - Scanning for energy meters
18:30:00.737 [TRACE] [g.eagle200.handler.Eagle200Connection] - Eagle200 meter HW address: <DeviceList>  <Device>    <HardwareAddress>0x00135003007dae51</HardwareAddress>    <Manufacturer>Generic</Manufacturer>    <ModelId>electric_meter</ModelId>    <Protocol>Zigbee</Protocol>    <LastContact>0x5b544082</LastContact>    <ConnectionStatus>Connected</ConnectionStatus>    <NetworkAddress>0x0000</NetworkAddress>  </Device></DeviceList>
18:30:00.738 [TRACE] [le200.discovery.EagleDiscoveryService] - Thing eagle200:eagle200_electric_meter:0x00135003007dae51 already exists

IIRC, the discovery messages are benign, the result is ignored since your eagle already exists as a thing. It’s just how OHAB discovery works (and I probably should remove those messages even at the trace level).

This leaves us with very little in the log that you posted. I think your eagle crapped out, and the binding just sits and wait for updates. I may consider adding a timeout if there are no updates for some time, to at least reflect the state in the OHAB ‘thing’ (didn’t realize this thing is so flakey).

Also, if you haven’t already, open a ticket with rainforest. This is pretty annoying.

Cheers,
-Th

OK - thanks for the feedback! I’m happy to open a ticket with Rainforest, but my problem is that the failure appears to be resolved by restarting OpenHAB (or just the binding, I’ll try that next time), and not touching the Eagle at all. This sample was grabbed out of the logs following my alert, but the binding continues not to get any data right up to the point I quit OpenHAB. As soon as I restarted OpenHAB (without doing anything at all to the Eagle), it started getting data.

This is not to say that the original failure isn’t on the Eagle side - I believe you that it is - but the Eagle appears ready to start talking again as soon as I restart OpenHAB. There also appears to be a roughly 50/50 chance of the OpenHAB getting data from the Eagle each time it is started (and if it doesn’t, then it continues not to get data until I quit and relaunch OpenHAB again). I will try the reconfiguration trick rather than restarting OpenHAB next time it fails, and hopefully at least we can track down enough info for me to raise a meaningful ticket with Rainforest.

Another trick that works for me (at times, not always) is to log on to their cloud website, and go to the graph that displays realtime updates. Just this appears to sometimes repair the eagle comm back to openhab, and the binding all the sudden receives updates.

I’m not 100% sure, but I suspect the Zigbee comm to the meter sometimes stalls, and that blocks the http request from OHAB. Once something triggers that into a ‘reset’, it wakes up again. Like said, not always, but sometimes.

Cheers,
-Th

I started over from scratch on my Pi3 with debian and OpenHAB 2.3.0 stable. I downloaded the latest Rainforest jar and put it into the /usr/share/openhab2/addons directory, but the addon does not appear to get loaded. I’ve restarted OpenHAB and nothing appears in the log file. I also looked in the karaf console and the jar does not appear in the bundle:list output.

Am I missing something here?

EDIT: I re-downloaded the jar. The binding is now loading!

Greg