xml upload to iDigi not working after reboot

I’ll test it right away…

I say!
Your last idigi_db.py (13253 bytes) did the trick. You rule Chris![:-)]
XML files are updated on iDigi after reboot. Have to study the code. Thanks a lot!

*** Uploaded green_kit project from ESP DigiPython to X4 ***
*** using modified idigi_db.py(13253 bytes) in iDigi Dia path lib ***

#> python dpdsrv.py

Launching Dia framework …

Determining platform type…Digi Python environment found.

Attempting to read “dia.pyr” in “WEB/python/dia.zip”…
iDigi Device Integration Application Version 1.3.8
Using settings file: dia.pyr
Core: initial garbage collection of 0 objects.
Core: post-settings garbage collection of 10 objects.
Starting Scheduler…
Starting Channel Manager…
Starting Device Driver Manager…
XBeeDeviceManager(xbee_device_manager): retrieving node list
XBeeDeviceManager(xbee_device_manager): node ‘00:13:a2:00:40:3a:dd:b1!’ moved to CONFIGURE state.
XBeeConfigBlockSleep: fetching ‘SP’ from ‘[00:13:a2:00:40:31:fc:56]!’
XBeeConfigBlockSleep: fetching ‘SP’ from ‘[00:13:a2:00:40:5c:79:81]!’
XBeeConfigBlockSleep: fetching ‘SN’ from ‘[00:13:a2:00:40:31:fc:56]!’
XBeeConfigBlockSleep: fetching ‘SN’ from ‘[00:13:a2:00:40:5c:79:81]!’
XBeeDeviceManager(xbee_device_manager): node ‘00:13:a2:00:40:31:fc:56!’ moved to CONFIGURE state.
XBeeDeviceManagerConfigurator: worker assigned to ‘00:13:a2:00:40:31:fc:56!’
Starting Presentation Manager…
XBeeConfigBlockDDO.apply_config: trying SET ‘DL’ = ‘\x40\x5c\x79\x81’ to ‘[00:13:a2:00:40:31:fc:56]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘IR’ = ‘0x1388’ to ‘[00:13:a2:00:40:31:fc:56]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘D2’ = ‘0x2’ to ‘[00:13:a2:00:40:31:fc:56]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘DH’ = ‘\x00\x13\xa2\x00’ to ‘[00:13:a2:00:40:31:fc:56]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘D1’ = ‘0x2’ to ‘[00:13:a2:00:40:31:fc:56]!’
XBeeConfigBlockFinalWrite: trying ‘WR’ to ‘[00:13:a2:00:40:31:fc:56]!’
XBeeDeviceManager(xbee_device_manager): configuration done for node ‘00:13:a2:00:40:31:fc:56!’ promoting to RUNNING state.
–> idigi_db: presentation starting
–> idigi_db: there are 0 channels in the channels setting
–> idigi_db: the value of the channels setting is []
–> idigi_db: I’m waiting for an event or up to 60 seconds
Failed to update configuration file: dictionary changed size during iteration
Starting Services Manager…
Core services started.
GarbageCollector: collected 3 objects.
XBeeDeviceManagerConfigurator: worker assigned to ‘00:13:a2:00:40:3a:dd:b1!’
XBeeConfigBlockDDO.apply_config: trying SET ‘DL’ = ‘\x40\x5c\x79\x81’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘P1’ = ‘0x3’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
–> idigi_db: Received sample 1
–> idigi_db: Received sample 2
XBeeConfigBlockDDO.apply_config: trying SET ‘DH’ = ‘\x00\x13\xa2\x00’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘IR’ = ‘0x1388’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘IC’ = ‘0x800’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘D2’ = ‘0x2’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘D3’ = ‘0x2’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘D1’ = ‘0x2’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying SET ‘WH’ = ‘0x7d’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying ‘SP’ = ‘0x1f4’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying ‘SO’ = ‘0x0’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying ‘SN’ = ‘0x1’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying ‘SM’ = ‘0x4’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockDDO.apply_config: trying ‘ST’ = ‘0x465’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeConfigBlockFinalWrite: trying ‘WR’ to ‘[00:13:a2:00:40:3a:dd:b1]!’
XBeeDeviceManager(xbee_device_manager): configuration done for node ‘00:13:a2:00:40:3a:dd:b1!’
promoting to RUNNING state.
XBeeSensor(sensor0): running indication
XBeeSensor(sensor0): DD info (module_id, product_id) = (0x0003, 0x000e)
XBeeSensor(sensor0): sensor is a ‘Digi XBee Sensor /L/T’ no humidity capability.
–> idigi_db: Received sample 3
–> idigi_db: Received sample 4
–> idigi_db: Received sample 5
–> idigi_db: Received sample 6
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 7
–> idigi_db: Received sample 8
–> idigi_db: Received sample 9
–> idigi_db: Received sample 10
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 11
–> idigi_db: Received sample 12
–> idigi_db: Received sample 13
–> idigi_db: Received sample 14
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 15
–> idigi_db: Received sample 16
–> idigi_db: Received sample 17
–> idigi_db: Received sample 18
–> idigi_db: Received sample 19
–> idigi_db: Received sample 20
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 21
–> idigi_db: Received sample 22
–> idigi_db: Received sample 23
–> idigi_db: Received sample 24
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 25
–> idigi_db: Reached threshold of 25, setting event flag
–> idigi_db: Received sample 26
–> idigi_db: Reached threshold of 25, setting event flag
–> idigi_db: I’m done waiting
–> idigi_db: Uploading to iDigi
Channel wall_router0.light was updated since last push
Channel sensor0.temperature was updated since last push
Channel sensor0.low_battery was updated since last push
Channel sensor0.light was updated since last push
Channel wall_router0.temperature was updated since last push
–> idigi_db: Received sample 1
–> idigi_db: Received sample 2
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: I uploaded to iDigi
–> idigi_db: I’m waiting for an event or up to 60 seconds
–> idigi_db: Received sample 3
–> idigi_db: Received sample 4
–> idigi_db: Received sample 5
–> idigi_db: Received sample 6
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 7
–> idigi_db: Received sample 8

*** XML in Storage section on iDigi are updated regulary ***
*** REBOOT X4 and run applic ****

#> python dpdsrv.py

Launching Dia framework …

Determining platform type…Digi Python environment found.

iDigi Device Integration Application Version 1.3.8
Using settings file: dia.pyr
Core: initial garbage collection of 0 objects.
Core: post-settings garbage collection of 10 objects.
Starting Scheduler…
Starting Channel Manager…
Starting Device Driver Manager…
XBeeDeviceManager(xbee_device_manager): retrieving node list
XBeeDeviceManager(xbee_device_manager): node ‘00:13:a2:00:40:3a:dd:b1!’ in skip configaddress list, promoting to RUNNING state.
XBeeSensor(sensor0): running indication
XBeeSensor(sensor0): DD info (module_id, product_id) = (0x0003, 0x000e)
XBeeSensor(sensor0): sensor is a ‘Digi XBee Sensor /L/T’ no humidity capability.
XBeeSensor(sensor0): 12 C, 0 brightness
XBeeDeviceManager(xbee_device_manager): node ‘00:13:a2:00:40:31:fc:56!’ in skip configaddress list, promoting to RUNNING state.
Starting Presentation Manager…
–> idigi_db: presentation starting
–> idigi_db: there are 1 channels in the channels setting
–> idigi_db: the value of the channels setting is [‘instance_list’]
–> idigi_db: I’m waiting for an event or up to 60 seconds
Starting Services Manager…
Core services started.
–> idigi_db: Received sample 1
–> idigi_db: Received sample 2
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 3
–> idigi_db: Received sample 4
–> idigi_db: Received sample 5
–> idigi_db: Received sample 6
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 7
–> idigi_db: Received sample 8
–> idigi_db: Received sample 9
–> idigi_db: Received sample 10
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 11
–> idigi_db: Received sample 12
–> idigi_db: Received sample 13
–> idigi_db: Received sample 14
–> idigi_db: Received sample 15
–> idigi_db: Received sample 16
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 17
–> idigi_db: Received sample 18
–> idigi_db: Received sample 19
–> idigi_db: Received sample 20
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 21
–> idigi_db: Received sample 22
–> idigi_db: Received sample 23
–> idigi_db: Received sample 24
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 25
–> idigi_db: Reached threshold of 25, setting event flag
–> idigi_db: Received sample 26
–> idigi_db: Reached threshold of 25, setting event flag
–> idigi_db: I’m done waiting
–> idigi_db: Uploading to iDigi
Channel wall_router0.light was updated since last push
Channel sensor0.temperature was updated since last push
Channel sensor0.low_battery was updated since last push
Channel sensor0.light was updated since last push
Channel wall_router0.temperature was updated since last push
–> idigi_db: I uploaded to iDigi
–> idigi_db: I’m waiting for an event or up to 60 seconds
–> idigi_db: Received sample 1
–> idigi_db: Received sample 2
XBeeSensor(sensor0): 12 C, 0 brightness
–> idigi_db: Received sample 3
–> idigi_db: Received sample 4
–> idigi_db: Received sample 5
–> idigi_db: Received sample 6
–> idigi_db: Received sample 7
–> idigi_db: Received sample 8
XBeeSensor(sensor0): 12 C, 0 brightness

*** XML in Storage section on iDigi are updated regulary [:-)] ***

Can I use the idigi_db.py you posted, in production removing the idigi_db print outs?

The change in the idigi_db.py I posted should be pretty low risk relative to the original. It effectively just causes the channels setting to be ignored, so the presentation will always subscribe to all available channels.

You should still take a look at the changes to make sure they look acceptable to you and do testing to verify it is doing what you expect.

Thanks,
Chris