This app converts a Embedded Data Systems xml-string to a json-string
It supports readings from DS18B20 and DS2406 thats connected to OW Server2 from Embedded Data Systems
exampel xml
<Devices-Detail-Response xmlns="http://www.embeddeddatasystems.com/schema/owserver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PollCount>196425</PollCount>
<DevicesConnected>9</DevicesConnected>
<LoopTime>8.992</LoopTime>
<DevicesConnectedChannel1>6</DevicesConnectedChannel1>
<DevicesConnectedChannel2>3</DevicesConnectedChannel2>
<DevicesConnectedChannel3>0</DevicesConnectedChannel3>
<DataErrorsChannel1>0</DataErrorsChannel1>
<DataErrorsChannel2>0</DataErrorsChannel2>
<DataErrorsChannel3>0</DataErrorsChannel3>
<VoltageChannel1>4.54</VoltageChannel1>
<VoltageChannel2>4.58</VoltageChannel2>
<VoltageChannel3>4.58</VoltageChannel3>
<VoltagePower>4.81</VoltagePower>
<DeviceName>OWServer_v2-Enet</DeviceName>
<HostName>EDSOWSERVER2</HostName>
<MACAddress>00:04:A3:C1:4F:B5</MACAddress>
<owd_DS18B20 Description="Programmable resolution thermometer">
<Name>DS18B20</Name>
<Family>28</Family>
<ROMId>870000042FD3A828</ROMId>
<Health>7</Health>
<Channel>1</Channel>
<RawData>34014B467FFF0C101CFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData>
<PrimaryValue>19.2500 Deg C</PrimaryValue>
<Temperature Units="Centigrade">19.2500</Temperature>
<UserByte1 Writable="True">75</UserByte1>
<UserByte2 Writable="True">70</UserByte2>
<Resolution>12</Resolution>
<PowerSource>255</PowerSource>
</owd_DS18B20>
<owd_DS18B20 Description="Programmable resolution thermometer">
<Name>DS18B20</Name>
<Family>28</Family>
<ROMId>BB000002D6514A28</ROMId>
<Health>7</Health>
<Channel>1</Channel>
<RawData>1D014B467FFF0310C5FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData>
<PrimaryValue>17.8125 Deg C</PrimaryValue>
<Temperature Units="Centigrade">17.8125</Temperature>
<UserByte1 Writable="True">75</UserByte1>
<UserByte2 Writable="True">70</UserByte2>
<Resolution>12</Resolution>
<PowerSource>255</PowerSource>
</owd_DS18B20>
<owd_DS18B20 Description="Programmable resolution thermometer">
<Name>DS18B20</Name>
<Family>28</Family>
<ROMId>E6000002D639BA28</ROMId>
<Health>7</Health>
<Channel>1</Channel>
<RawData>05014B467FFF0B10CDFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData>
<PrimaryValue>16.3125 Deg C</PrimaryValue>
<Temperature Units="Centigrade">16.3125</Temperature>
<UserByte1 Writable="True">75</UserByte1>
<UserByte2 Writable="True">70</UserByte2>
<Resolution>12</Resolution>
<PowerSource>255</PowerSource>
</owd_DS18B20>
<owd_DS18B20 Description="Programmable resolution thermometer">
<Name>DS18B20</Name>
<Family>28</Family>
<ROMId>FB00000399392628</ROMId>
<Health>7</Health>
<Channel>1</Channel>
<RawData>02014B467FFF0E10E2FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData>
<PrimaryValue>16.1250 Deg C</PrimaryValue>
<Temperature Units="Centigrade">16.1250</Temperature>
<UserByte1 Writable="True">75</UserByte1>
<UserByte2 Writable="True">70</UserByte2>
<Resolution>12</Resolution>
<PowerSource>255</PowerSource>
</owd_DS18B20>
<owd_DS18B20 Description="Programmable resolution thermometer">
<Name>DS18B20</Name>
<Family>28</Family>
<ROMId>1500000399553128</ROMId>
<Health>7</Health>
<Channel>1</Channel>
<RawData>31014B467FFF0F101FFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData>
<PrimaryValue>19.0625 Deg C</PrimaryValue>
<Temperature Units="Centigrade">19.0625</Temperature>
<UserByte1 Writable="True">75</UserByte1>
<UserByte2 Writable="True">70</UserByte2>
<Resolution>12</Resolution>
<PowerSource>255</PowerSource>
</owd_DS18B20>
<owd_DS2406 Description="Dual addressable switch plus memory">
<Name>DS2406</Name>
<Family>12</Family>
<ROMId>DF00000020ADC212</ROMId>
<Health>7</Health>
<RawData>73000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData>
<PrimaryValue>A=0, B=0</PrimaryValue>
<InputLevel_A>0</InputLevel_A>
<InputLevel_B>0</InputLevel_B>
<FlipFlop_A Writable="True">1</FlipFlop_A>
<FlipFlop_B Writable="True">1</FlipFlop_B>
<ActivityLatch_A>1</ActivityLatch_A>
<ActivityLatch_B>1</ActivityLatch_B>
<NumberOfChannels>2</NumberOfChannels>
<PowerSource>0</PowerSource>
<ActivityLatchReset Writable="True">-</ActivityLatchReset>
</owd_DS2406>
</Devices-Detail-Response>
and output an json-string
{
"Temperature": {
"870000042FD3A828": 19.2500,
"BB000002D6514A28": 19.2500,
"E6000002D639BA28": 17.2500,
"FB00000399392628": 16.0000,
"1500000399553128": 21.0625
},
"DS2406": {
"DF00000020ADC212_A": 0,
"DF00000020ADC212_B": 1
}
}
Us it in a flow like this