[feat] support Controller command timeout (for instance AddNode)

I noticed that IF i forget to cancel commands (For instance during add node process) controller is going on an AddNode waiting state... and never timeouts.
Last time this was for one night, both z-stick and z-wave.me behaved the same way
Most controllers and software I played with, they did have around two minutes timeout.

@Fishwaldo I could add this feature on z2m, my question is should this be implemented in Openzwave? I noticed for example my z-stick has this behaviour built in and it stops inclusion/exclusion after around 1 minute from last inclusion/exlusion

No. I won’t implement. It can get messy as some “controller commands” are single shot and other (like add/remove) change states. And some devices like your zstick will timeout while others won’t.
I don’t think there is any harm in sending a cancel controller command any time though.

@Fishwaldo during an Add Node state, no setvalue can be sent. Is this a normal behaviour?
For instance my zstick didn't timeout after a night and all commands where sent after i did a cancel.

An example here:
I started inclusion 15:28:00 and then I did send two commands.
until and 15:29:58 where I cancelled the command, the others where not executed:
❯ stern -n homeassistant zwave2mqtt2- -s10s
+ zwave2mqtt2-664b84f44b-jlw9l › zwave2mqtt
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:28:15.235Z z2m:App Zwave api call: setValue [ 6, 37, 1, 0, true ]
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:15.236 Info, Node006, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - True
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:15.236 Info, Node006, SwitchBinary::Set - Setting to On
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:15.236 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0xff, 0x25, 0x25, 0x38
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:15.236 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x26, 0xc5
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:28:15.236Z z2m:Zwave Success zwave api call setValue
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:28:17.251Z z2m:App Zwave api call: setValue [ 5, 37, 1, 0, true ]
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:17.252 Info, Node005, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - True
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:17.252 Info, Node005, SwitchBinary::Set - Setting to On
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:17.253 Detail, Node005, Queuing (Send) SwitchBinaryCmd_Set (Node=5): 0x01, 0x0a, 0x00, 0x13, 0x05, 0x03, 0x25, 0x01, 0xff, 0x25, 0x27, 0x39
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:28:17.253 Detail, Node005, Queuing (Send) SwitchBinaryCmd_Get (Node=5): 0x01, 0x09, 0x00, 0x13, 0x05, 0x02, 0x25, 0x02, 0x25, 0x28, 0xc8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:28:17.253Z z2m:Zwave Success zwave api call setValue
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:40.783Z z2m:App User disconnected RbO3D3-IfmnxPmXdAAAG
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:42.882Z z2m:App New connection aSNlqjPL0wT_SOpnAAAH
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt GET / 304 1.214 ms - -
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:48.533Z z2m:App User disconnected aSNlqjPL0wT_SOpnAAAH
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt GET /static/css/app.6071a1385bbbf2e6bba673b992155bbf.css 304 0.749 ms - -
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt GET /static/js/manifest.2ae2e69a05c33dfc65f8.js 304 2.224 ms - -
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt GET /static/js/vendor.61eca3eb3f1460776dd3.js 304 2.149 ms - -
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt GET /static/js/app.2f898150cffed81c0ac8.js 304 2.113 ms - -
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:48.651Z z2m:App New connection FHVR7ZpPuCmjroK4AAAI
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt GET /static/logo.png 304 0.461 ms - -
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt GET /static/favicons/favicon-32x32.png 200 2.531 ms - 1831
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:58.970Z z2m:App Zwave api call: cancelControllerCommand []
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:58.971 Info, Cancel Add Node
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:58.971 Detail, contrlr, Queuing (Command) Add Node Stop: 0x01, 0x04, 0x00, 0x4a, 0x05, 0xb4
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:58.972Z z2m:Zwave Success zwave api call cancelControllerCommand
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:58.972 Detail, contrlr, Notification: AddDevice ControllerCommand - Canceled
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:58.974 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:58.974 Info, contrlr, Sending (Command) message (Callback ID=0x00, Expected Reply=0x4a) - Add Node Stop: 0x01, 0x04, 0x00, 0x4a, 0x05, 0xb4
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:58.974 Info, contrlr, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:58.974Z z2m:Zwave controller command { nodeid: 255, state: 2, errcode: 0, help: 'AddDevice Canceled' }
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.063 Detail, contrlr,   Received: 0x01, 0x07, 0x00, 0x4a, 0x24, 0x06, 0x00, 0x00, 0x90
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.063 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.063 Info, contrlr, FUNC_ID_ZW_ADD_NODE_TO_NETWORK:
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.064 Info, contrlr, ADD_NODE_STATUS_DONE
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.064 Detail, contrlr,   Expected reply was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.065 Detail, contrlr,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.066 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.066 Detail, contrlr, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.067 Detail, contrlr, Notification: AddDevice ControllerCommand - Completed
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.067 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.067 Info, Node006, Sending (Send) message (Callback ID=0x25, Expected Reply=0x13) - SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0xff, 0x25, 0x25, 0x38
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.067 Info, Node006, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:59.069Z z2m:Zwave controller command { nodeid: 255, state: 7, errcode: 0, help: 'AddDevice Completed' }
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.075 Detail, Node006,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.075 Detail, Node006,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.092 Detail, Node006,   Received: 0x01, 0x07, 0x00, 0x13, 0x25, 0x00, 0x00, 0x02, 0xcc
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.092 Detail, Node006,   ZW_SEND_DATA Request with callback ID 0x25 received (expected 0x25)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.092 Info, Node006, Request RTT 24 Average Request RTT 24
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Detail, Node006,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Detail, Node006,   Expected reply was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Detail, Node006,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Detail, Node006, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Info, Node006, Sending (Send) message (Callback ID=0x26, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x26, 0xc5
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.093 Info, Node006, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.100 Detail, Node006,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.100 Detail, Node006,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.118 Detail, Node006,   Received: 0x01, 0x07, 0x00, 0x13, 0x26, 0x00, 0x00, 0x02, 0xcf
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.118 Detail, Node006,   ZW_SEND_DATA Request with callback ID 0x26 received (expected 0x26)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.118 Info, Node006, Request RTT 24 Average Request RTT 24
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.118 Detail, Node006,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.154 Detail, Node006,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x06, 0x03, 0x25, 0x03, 0xff, 0x2e
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Info, Node006, Response RTT 61 Average Response RTT 48
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Info, Node006, Received SwitchBinary report from node 6: level=On
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail, Node006, Refreshed Value: old value=false, new value=true, type=bool
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail, Node006, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail, Node006,   Expected reply and command class was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail, Node006,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail, Node006, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail, Node006, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.155 Info, Node005, Sending (Send) message (Callback ID=0x27, Expected Reply=0x13) - SwitchBinaryCmd_Set (Node=5): 0x01, 0x0a, 0x00, 0x13, 0x05, 0x03, 0x25, 0x01, 0xff, 0x25, 0x27, 0x39
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.156 Info, Node005, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:59.157Z z2m:Zwave zwave node 6: changed: 37-1-0:Switch:false -> true
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.164 Detail, Node005,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.164 Detail, Node005,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.182 Detail, Node005,   Received: 0x01, 0x07, 0x00, 0x13, 0x27, 0x00, 0x00, 0x02, 0xce
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.182 Detail, Node005,   ZW_SEND_DATA Request with callback ID 0x27 received (expected 0x27)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.182 Info, Node005, Request RTT 26 Average Request RTT 26
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.182 Detail, Node005,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.182 Detail, Node005,   Expected reply was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.183 Detail, Node005,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.183 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.183 Detail, Node005, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.183 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.183 Info, Node005, Sending (Send) message (Callback ID=0x28, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=5): 0x01, 0x09, 0x00, 0x13, 0x05, 0x02, 0x25, 0x02, 0x25, 0x28, 0xc8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.183 Info, Node005, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.191 Detail, Node005,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.191 Detail, Node005,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.208 Detail, Node005,   Received: 0x01, 0x07, 0x00, 0x13, 0x28, 0x00, 0x00, 0x02, 0xc1
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.208 Detail, Node005,   ZW_SEND_DATA Request with callback ID 0x28 received (expected 0x28)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.208 Info, Node005, Request RTT 24 Average Request RTT 25
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.208 Detail, Node005,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.218 Detail, Node005,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x05, 0x03, 0x25, 0x03, 0xff, 0x2d
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.218 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.218 Info, Node005, Response RTT 34 Average Response RTT 35
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.218 Info, Node005, Received SwitchBinary report from node 5: level=On
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.219 Detail, Node005, Refreshed Value: old value=false, new value=true, type=bool
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.219 Detail, Node005, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.220 Detail, Node005,   Expected reply and command class was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.222 Detail, Node005,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.222 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.222 Detail, Node005, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.222 Detail, Node005, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:59.223Z z2m:Zwave zwave node 5: changed: 37-1-0:Switch:false -> true
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.240 Detail, Node006,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x06, 0x03, 0x25, 0x03, 0xff, 0x2e
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.240 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.240 Info, Node006, Received SwitchBinary report from node 6: level=On
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.240 Detail, Node006, Refreshed Value: old value=true, new value=true, type=bool
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.240 Detail, Node006, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.240 Detail, Node006, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:59.241Z z2m:Zwave zwave node 6: changed: 37-1-0:Switch:true -> true
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.917 Detail, Node005,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x05, 0x06, 0x31, 0x05, 0x04, 0x22, 0x00, 0x53, 0xb5
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.917 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.917 Info, Node005, Received SensorMultiLevel report from node 5, instance 1, Power: value=8.3Watt
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.917 Detail, Node005, Refreshed Value: old value=0.0, new value=8.3, type=decimal
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.917 Detail, Node005, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:29:59.917 Detail, Node005, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:29:59.919Z z2m:Zwave zwave node 5: changed: 49-1-4:Power:0 -> 8.3

and a 5 minute example.
devices began executing setvalues after 5 minutes and only when I did cancel the add node

zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:31:45.830Z z2m:App Zwave api call: addNode [ true ]
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.831 Detail, Queuing (Controller) Add Device
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.831 Info, Add Device
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:31:45.831Z z2m:Zwave Success zwave api call addNode true
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.831 Detail, contrlr, Queuing (Command) ControllerCommand_AddDevice: 0x01, 0x05, 0x00, 0x4a, 0xc1, 0x29, 0x58
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.832 Detail, Notification: AddDevice ControllerCommand - Starting
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.832 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.832 Info, contrlr, Sending (Command) message (Callback ID=0x29, Expected Reply=0x4a) - ControllerCommand_AddDevice: 0x01, 0x05, 0x00, 0x4a, 0xc1, 0x29, 0x58
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.832 Info, contrlr, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:31:45.833Z z2m:Zwave controller command { nodeid: 0, state: 1, errcode: 0, help: 'AddDevice Starting' }
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.835 Detail, contrlr,   Received: 0x01, 0x07, 0x00, 0x4a, 0x29, 0x01, 0x00, 0x00, 0x9a
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Info, contrlr, FUNC_ID_ZW_ADD_NODE_TO_NETWORK:
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Info, contrlr, ADD_NODE_STATUS_LEARN_READY
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Detail, contrlr,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Detail, contrlr,   Expected reply was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Detail, contrlr,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.836 Detail, contrlr, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.837 Detail, Notification: AddDevice ControllerCommand - Waiting
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:31:45.837 Info, WriteNextMsg Controller nothing to do
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:31:45.837Z z2m:Zwave controller command { nodeid: 0, state: 4, errcode: 0, help: 'AddDevice Waiting' }
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:31:56.361Z z2m:App New connection QZFyaIYjr-zk-uCfAAAJ
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:31:56.371Z z2m:App New connection MZ9mA03yxzZdNRxmAAAK
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:31:56.387Z z2m:App New connection IX2uxgFTcjeFxTR-AAAL
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:03.564Z z2m:App Zwave api call: setValue [ 5, 37, 1, 0, false ]
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:03.565 Info, Node005, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - False
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:03.566 Info, Node005, SwitchBinary::Set - Setting to Off
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:03.566 Detail, Node005, Queuing (Send) SwitchBinaryCmd_Set (Node=5): 0x01, 0x0a, 0x00, 0x13, 0x05, 0x03, 0x25, 0x01, 0x00, 0x25, 0x2a, 0xcb
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:03.566 Detail, Node005, Queuing (Send) SwitchBinaryCmd_Get (Node=5): 0x01, 0x09, 0x00, 0x13, 0x05, 0x02, 0x25, 0x02, 0x25, 0x2b, 0xcb
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:03.566Z z2m:Zwave Success zwave api call setValue
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:05.676Z z2m:App Zwave api call: setValue [ 6, 37, 1, 0, false ]
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:05.677 Info, Node006, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - False
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:05.677 Info, Node006, SwitchBinary::Set - Setting to Off
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:05.677 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0x00, 0x25, 0x2c, 0xce
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:32:05.677 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x2d, 0xce
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:05.678Z z2m:Zwave Success zwave api call setValue
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:26.363Z z2m:App User disconnected QZFyaIYjr-zk-uCfAAAJ
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:26.372Z z2m:App User disconnected MZ9mA03yxzZdNRxmAAAK
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:56.471Z z2m:App User disconnected FHVR7ZpPuCmjroK4AAAI
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:32:59.463Z z2m:App New connection iGTBJDn7UebfeuhUAAAM
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:33:44.015Z z2m:App User disconnected IX2uxgFTcjeFxTR-AAAL
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:33:46.058Z z2m:App New connection -oPsd7Gm5zLp2swrAAAN
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:16.740Z z2m:App User disconnected -oPsd7Gm5zLp2swrAAAN
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:18.067Z z2m:App New connection OoxZNLL8UQB8EBwGAAAO
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.870 Detail, Node005,   Received: 0x01, 0x10, 0x00, 0x04, 0x10, 0x05, 0x0a, 0x32, 0x02, 0x21, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa1
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.870 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.870 Info, Node005, Received Meter Report for Electric - kWh (1) with Units kWh (0) on Index 0: 0.00
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.870 Detail, Node005, Refreshed Value: old value=0.00, new value=0.00, type=decimal
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.870 Detail, Node005, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.870 Detail, Node005, Refreshed Value: old value=false, new value=false, type=bool
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.870 Detail, Node005, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.871 Detail, Node005, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:26.871 Detail, Node005, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:26.871Z z2m:Zwave zwave node 5: changed: 50-1-0:Electric - kWh:0 -> 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:26.873Z z2m:Zwave zwave node 5: changed: 50-1-256:Exporting:false -> false
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.436 Detail, Node006,   Received: 0x01, 0x10, 0x00, 0x04, 0x10, 0x06, 0x0a, 0x32, 0x02, 0x21, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa2
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.436 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.436 Info, Node006, Received Meter Report for Electric - kWh (1) with Units kWh (0) on Index 0: 0.00
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.436 Detail, Node006, Refreshed Value: old value=0.00, new value=0.00, type=decimal
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.437 Detail, Node006, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.437 Detail, Node006, Refreshed Value: old value=false, new value=false, type=bool
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.437 Detail, Node006, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.437 Detail, Node006, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:34:27.437 Detail, Node006, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:27.438Z z2m:Zwave zwave node 6: changed: 50-1-0:Electric - kWh:0 -> 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:27.441Z z2m:Zwave zwave node 6: changed: 50-1-256:Exporting:false -> false
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:48.739Z z2m:App User disconnected OoxZNLL8UQB8EBwGAAAO
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:48.754Z z2m:App User disconnected iGTBJDn7UebfeuhUAAAM
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:50.139Z z2m:App New connection a-6kXWwnMQb7kX7CAAAP
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:34:50.899Z z2m:App New connection nJf0GQybvfGwpk03AAAQ
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:35:21.031Z z2m:App User disconnected nJf0GQybvfGwpk03AAAQ
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:35:21.761Z z2m:App New connection n3MJlsPgznSfUGzhAAAR
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:35:46.023Z z2m:App User disconnected a-6kXWwnMQb7kX7CAAAP
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:35:48.158Z z2m:App New connection NEnbXkisXfQruSdAAAAS
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:18.638Z z2m:App User disconnected NEnbXkisXfQruSdAAAAS
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:20.106Z z2m:App New connection 9QR9TxS4Hn5MwrbhAAAT
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:46.311Z z2m:App User disconnected n3MJlsPgznSfUGzhAAAR
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:48.965Z z2m:App New connection wh5gQWkr2ANb9psgAAAU
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:59.356Z z2m:App Zwave api call: cancelControllerCommand []
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.357 Info, Cancel Add Node
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.357 Detail, contrlr, Queuing (Command) Add Node Stop: 0x01, 0x04, 0x00, 0x4a, 0x05, 0xb4
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.358 Detail, contrlr, Notification: AddDevice ControllerCommand - Canceled
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:59.358Z z2m:Zwave Success zwave api call cancelControllerCommand
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.358 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.358 Info, contrlr, Sending (Command) message (Callback ID=0x00, Expected Reply=0x4a) - Add Node Stop: 0x01, 0x04, 0x00, 0x4a, 0x05, 0xb4
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.358 Info, contrlr, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:59.359Z z2m:Zwave controller command { nodeid: 255, state: 2, errcode: 0, help: 'AddDevice Canceled' }
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Detail, contrlr,   Received: 0x01, 0x07, 0x00, 0x4a, 0x29, 0x06, 0x00, 0x00, 0x9d
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Info, contrlr, FUNC_ID_ZW_ADD_NODE_TO_NETWORK:
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Info, contrlr, ADD_NODE_STATUS_DONE
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Detail, contrlr,   Expected reply was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Detail, contrlr,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Detail, contrlr, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.447 Detail, contrlr, Notification: AddDevice ControllerCommand - Completed
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.448 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.448 Info, Node005, Sending (Send) message (Callback ID=0x2a, Expected Reply=0x13) - SwitchBinaryCmd_Set (Node=5): 0x01, 0x0a, 0x00, 0x13, 0x05, 0x03, 0x25, 0x01, 0x00, 0x25, 0x2a, 0xcb
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.448 Info, Node005, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:59.449Z z2m:Zwave controller command { nodeid: 255, state: 7, errcode: 0, help: 'AddDevice Completed' }
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.455 Detail, Node005,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.456 Detail, Node005,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail, Node005,   Received: 0x01, 0x07, 0x00, 0x13, 0x2a, 0x00, 0x00, 0x02, 0xc3
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail, Node005,   ZW_SEND_DATA Request with callback ID 0x2a received (expected 0x2a)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Info, Node005, Request RTT 24 Average Request RTT 24
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail, Node005,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail, Node005,   Expected reply was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail, Node005,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail, Node005, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Info, Node005, Sending (Send) message (Callback ID=0x2b, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=5): 0x01, 0x09, 0x00, 0x13, 0x05, 0x02, 0x25, 0x02, 0x25, 0x2b, 0xcb
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.473 Info, Node005, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.481 Detail, Node005,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.481 Detail, Node005,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.498 Detail, Node005,   Received: 0x01, 0x07, 0x00, 0x13, 0x2b, 0x00, 0x00, 0x03, 0xc3
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.498 Detail, Node005,   ZW_SEND_DATA Request with callback ID 0x2b received (expected 0x2b)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.498 Info, Node005, Request RTT 24 Average Request RTT 24
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.498 Detail, Node005,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.508 Detail, Node005,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x05, 0x03, 0x25, 0x03, 0x00, 0xd2
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.508 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.508 Info, Node005, Response RTT 35 Average Response RTT 35
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.508 Info, Node005, Received SwitchBinary report from node 5: level=Off
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.508 Detail, Node005, Refreshed Value: old value=true, new value=false, type=bool
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.509 Detail, Node005, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.509 Detail, Node005,   Expected reply and command class was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.509 Detail, Node005,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.509 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.509 Detail, Node005, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.509 Detail, Node005, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.509 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.510 Info, Node006, Sending (Send) message (Callback ID=0x2c, Expected Reply=0x13) - SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0x00, 0x25, 0x2c, 0xce
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.510 Info, Node006, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:59.511Z z2m:Zwave zwave node 5: changed: 37-1-0:Switch:true -> false
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.518 Detail, Node006,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.518 Detail, Node006,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.558 Detail, Node006,   Received: 0x01, 0x07, 0x00, 0x13, 0x2c, 0x00, 0x00, 0x05, 0xc2
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.558 Detail, Node006,   ZW_SEND_DATA Request with callback ID 0x2c received (expected 0x2c)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.558 Info, Node006, Request RTT 48 Average Request RTT 36
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.558 Detail, Node006,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.558 Detail, Node006,   Expected reply was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.558 Detail, Node006,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.559 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.559 Detail, Node006, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.559 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.559 Info, Node006, Sending (Send) message (Callback ID=0x2d, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x2d, 0xce
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.559 Info, Node006, Encrypted Flag is 0
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.569 Detail, Node006,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.570 Detail, Node006,   ZW_SEND_DATA delivered to Z-Wave stack
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.606 Detail, Node006,   Received: 0x01, 0x07, 0x00, 0x13, 0x2d, 0x00, 0x00, 0x05, 0xc3
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.607 Detail, Node006,   ZW_SEND_DATA Request with callback ID 0x2d received (expected 0x2d)
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.607 Info, Node006, Request RTT 47 Average Request RTT 41
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.607 Detail, Node006,   Expected callbackId was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Detail, Node006,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x06, 0x03, 0x25, 0x03, 0x00, 0xd1
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Info, Node006, Response RTT 95 Average Response RTT 71
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Info, Node006, Received SwitchBinary report from node 6: level=Off
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Detail, Node006, Refreshed Value: old value=true, new value=false, type=bool
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Detail, Node006, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Detail, Node006,   Expected reply and command class was received
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.654 Detail, Node006,   Message transaction complete
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.655 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.655 Detail, Node006, Removing current message
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:36:59.655 Detail, Node006, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:36:59.655Z z2m:Zwave zwave node 6: changed: 37-1-0:Switch:true -> false
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:37:00.208 Detail, Node005,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x05, 0x06, 0x31, 0x05, 0x04, 0x22, 0x00, 0x00, 0xe6
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:37:00.209 Detail,
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:37:00.209 Info, Node005, Received SensorMultiLevel report from node 5, instance 1, Power: value=0.0Watt
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:37:00.209 Detail, Node005, Refreshed Value: old value=8.3, new value=0.0, type=decimal
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:37:00.209 Detail, Node005, Changes to this value are not verified
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07 15:37:00.209 Detail, Node005, Notification: ValueChanged
zwave2mqtt2-664b84f44b-jlw9l zwave2mqtt 2020-02-07T15:37:00.210Z z2m:Zwave zwave node 5: changed: 49-1-4:Power:8.3 -> 0

Just for the reference, here's how adding a device looks on Fibaro controllers.

Although on a second thought there's no point in entering/changing the default value every single time. Maybe a timeout value set once in the config would do a better job?

@Dinth I'm ok with this but is that difficult to manually stop inclusion I mean?

Its not as long as it would be clearly signaled that the controller is in inclusion mode with maybe a link to stop it.
TBH ive been using Z2M for a couple of months now and i didnt know that i have to stop it manually.

Done

I have added a Commands timout Zwave setting that allows to specify how many seconds to wait before cancel an inclusion/exclusion command. Default is to 30 seconds


Support wasm3 in the native bindings

Based on https://github.com/hotg-ai/rune/pull/266 (only the last commit is new)
I've implemented this by exposing the same API regardless of which WASM runtime is enabled (and renamed the API from wasmer to just wasm). This could also be exposed by duplicating the API and renaming wasmer to wasm3, which would allow compiling both runtimes into the bindings (currently the Cargo features conflict and enabling both will fail compilation).

@jonas-schievink, what do you think should happen when both the wasmer-runtime and wasm3-runtime feature flags are set?
One thing I thought of is...

Introduce a Runtime trait so we can treat the wasm3 and wasmer runtimes the same
create wasmer_runtime and wasm3_runtime modules with rune_wasmer_runtime_load() and rune_wasm3_runtime_load()  functions that return the FFI-safe version of a Result<Box<dyn Runtime>, Error> and put each module behind a #[cfg(feature = "...")]
In the top-level module, use the cfg-if crate to re-export rune_wasmer_runtime_load() or rune_wasm3_runtime_load() as rune_default_runtime_load()

That way people can explicitly choose to construct a wasmer or wasm3 runtime if they want, or just use rune_default_runtime_load() to get whatever runtime works best on their system (and maybe an error if no runtimes are supported?)


Integration Stops Functioning S40 Thermostats

Describe the bug
Yesterday I noticed my values on HA were not available for both my S40 thermostats.  I restarted HA and no change.  I manually rebooted both thermostats and the integration started working again.  This evening I had the same problem.
Thermostats are running Software 04.20.0107
The logs are below:
Logger: custom_components.lennoxs30
Source: custom_components/lennoxs30/init.py:356
Integration: Lennox S30/E30 (documentation, issues)
First occurred: 8:42:01 PM (2 occurrences)
Last logged: 8:42:02 PM
async_setup unexpected error login failed due to client response error [https://<IP_ADDRESS>/Endpoints/ha_s40_down/Connect] ClientResponseError Error while executing request: [Content-Length can't be present with Transfer-Encoding]: error=<class 'aiohttp.client_exceptions.ClientResponseError'>, resp.status=[400], resp.request_info=[RequestInfo(url=URL('https://<IP_ADDRESS>/Endpoints/ha_s40_down/Connect'), method='POST', headers=<CIMultiDictProxy('Host': '<IP_ADDRESS>', 'Accept': '/', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Python/3.11 aiohttp/3.8.4', 'Content-Length': '0', 'Content-Type': 'application/octet-stream')>, real_url=URL('https://<IP_ADDRESS>/Endpoints/ha_s40_down/Connect'))], resp.headers=[None]
async_setup unexpected error login failed due to client response error [https://<IP_ADDRESS>/Endpoints/ha_s40_up/Connect] ClientResponseError Error while executing request: [Content-Length can't be present with Transfer-Encoding]: error=<class 'aiohttp.client_exceptions.ClientResponseError'>, resp.status=[400], resp.request_info=[RequestInfo(url=URL('https://<IP_ADDRESS>/Endpoints/ha_s40_up/Connect'), method='POST', headers=<CIMultiDictProxy('Host': '<IP_ADDRESS>', 'Accept': '/', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Python/3.11 aiohttp/3.8.4', 'Content-Length': '0', 'Content-Type': 'application/octet-stream')>, real_url=URL('https://<IP_ADDRESS>/Endpoints/ha_s40_up/Connect'))], resp.headers=[None]
Version

Home Assistant: 2023.6.1
This Integration: 2023.5.2

**Integration Configuration **

Cloud or Local Connection: Local
Inverter or Sensor Diagnostics Enabled: No

Additional context
Add any other context about the problem here.

Thanks for the note.
The last time this issue was seen was here
https://github.com/PeteRager/lennoxs30/issues/133
The root cause was diagnostic level not being set the zero.
Are you using diagnostics?

I am not using diagnostics as they didn't ever seem to return any values with the S40.  I noticed things stopped working this weekend.

When you start the integration are there any warnings in the Log?
When did you upgrade to 2023.6.1?
What HASS version were you running before?
Had the S40 connection be stable in the past?
trying to understand if it had ever worked reliably and this is a new issue.
Are you using the power inverter option?
Have you tried restarting the smarthub?
Is your system connected to the Lennox Cloud?  Are you using the app on your phone?
I'd also try looking at the WiFi signal strength.  Have you had problems with your internet connection?

I ran a test on 2023.6.1 and it works for me on an S30.

When you start the integration are there any warnings in the Log?
If I restart both S40s first, there are no errors.  After a few hours (the last time it worked for about 7 hours) the errors that I posted above show up.  Restarting the integration (or HA) has no effect.  The only way to fix at that point is a restart of the S40s.
When did you upgrade to 2023.6.1? What HASS version were you running before? Had the S40 connection be stable in the past?  I upgraded to 2023.6.1 the first week of June.  (Unfortunately in my attempts to fix this I dumped the logs that show exactly when I did it).
trying to understand if it had ever worked reliably and this is a new issue.
The integration was rock solid until 6/11.
Are you using the power inverter option?
No
Have you tried restarting the smarthub?
With the S40s there is no separate "smart hub".  Only a reboot of each S40 resolves the issue, and then only for a couple of hours.
Is your system connected to the Lennox Cloud? Are you using the app on your phone?
Yes the system is connected to the cloud.  The phone app always works.  The integration is NOT using the cloud, but the local connection.  If I try to set up with the cloud it does not work at all.  (Limitation of the S40 on the integration?)
I'd also try looking at the WiFi signal strength. Have you had problems with your internet connection?
Wifi strength is very good - each device is within 10 feet of an access point.

Besides the supervisor version (which is now 2023.6.2), I'm wondering if the thermostats themselves get a software update.  They are now running 4.20.0107 however, I don't know what they were running (if it was different) before.

Thanks the info, yes it sounds like it's broken :-(.
From what I know, the error you are seeing indicates that the network stack inside the S40 is in a failed state; that is why it never recovers until you restart the S40.  Yes, the thermostat may automatically update its firmware.  There should be a setting on the thermostat to turn auto-updates on / off.  The recommendation in the docs for this integration is to turn that off.  I have mine off, since it is working fine for me on the S30.
We need to determine what is causing your S40 to become unstable when the integration is talking to it.  Their are other people using the integration with S40s successfully, so we should be able to get this solved.  I'm not surprised that the cloud connection does not work, the S40 has a different phone app than the S30, I'm sure we could get it to work, but let's see if we can get the local connection stable first?
On the S30 system there is a smart hub which is located at the HVAC system. This is where the WIFI connection originates and the thermostats are connected to it with a cable. Sounds like for the S40 they got rid of that smart hub which makes sense since the HVAC equipment is usually located along way from the WIFI.  Anyways...
How is your system setup?  You have 2 S40's talking to what (heatpump, furnance, etc.)?  Is this a new install of a Lennox System or a retrofit?  Does each thermostat have a ip address? Or is there just one that is shared across them?  Is it a multi-zoned system or two completely independent systems.  If the former there should be one copy of the integration running, if the latter you'd need two copies of the integration running.  The S40s do talk to each other and forward messages back and forth, so it is possible that some type of message looping starts occurring which is taking them down.  If this is the case I'd start with deleting one of the integrations, shutting down HASS, restarting both thermos and see if we can get it stable with a single connection.
We should also enable message logging so we can see if any information is coming through. See how to enable message logging here:
https://github.com/PeteRager/lennoxs30#reporting-bugs
You can post the file here, or post a drop-box  or other storage link, or i can give you an email address.
Also there should be additional errors and warnings in the log when the failure occurs.  The error message you posted is from when you re-started the integration when it was failed.  I'd like to see what errors occur when it starts to fail after it's been running succesfully.
Two other things to try:

change the appi_ids - sometimes this fixes strange behavior - it is possible that having two _ in the app_id causes some issue
increase the message scan interval

Hello everyone! Sorry for jumping into this, but perhaps I can provide a little more information as well. I've been looking at the code in this repository as a reference and using "PostMan" to talk to the 3 S40 Thermostats that were just installed.
What I am seeing with PostMan is that the techniques in this repo work fine UNTIL a Endpoints//Disconnect is issued.  The S40 returns a malformed HTTP response, and then the S40 will not accept any new connections until the S40 is restarted regardless of appID.
Excerpts from Postman:
POST https://<IP_ADDRESS>/Endpoints//Disconnect
Error: Parse Error: Expected HTTP/
POST https://<IP_ADDRESS>/Endpoints//Connect
{"code":4,"message":"Connect Failed!: Tstat is already connected with other mobile"}
POST https://<IP_ADDRESS>/Endpoints//Connect
{"code":4,"message":"Connect Failed!: Tstat is already connected with other mobile"}
Let me know how I can help!

@PeteRager  - to clarify. Yes. I am using the URLs you mentioned above. Looks like GitHub didn't like my use of greater than, less than symbols :) I'm going to restart my thermo and reproduce the scenario again at let you know what I find.

Here's the raw data from PostMan for a connect, disconnect, connect sequence using the same AppID:
POST https://<IP_ADDRESS>/Endpoints/Arzel/Connect
204
82 ms
Warning: Self signed certificate
POST /Endpoints/Arzel/Connect HTTP/1.1
User-Agent: PostmanRuntime/7.32.3
HTTP/1.1 204 No Content
Server: MicroRelayServer-LCC
Connection: Keep-Alive
Content-Type: text/plain
z-conn_id: 0xb1e47484
z-method: POST
z-uri: /Endpoints/Arzel/Connect
z-time: Jun 21 16:52:41
Content-Length: 0
POST https://<IP_ADDRESS>/Endpoints/Arzel/Disconnect
204
94 ms
Warning: Self signed certificate
POST /Endpoints/Arzel/Disconnect HTTP/1.1
User-Agent: PostmanRuntime/7.32.3
Accept: /
Accept-Encoding: gzip, deflate, br
Content-Length: 0
HTTP/1.1 204 No Content
Server: MicroRelayServer-LCC
Connection: Keep-Alive
Content-Type: text/plain
z-conn_id: 0xb1e47404
z-method: POST
z-uri: /Endpoints/Arzel/Disconnect
z-time: Jun 21 16:53:01
Content-Length: 0
POST https://<IP_ADDRESS>/Endpoints/Arzel/Connect
400
68 ms
Warning: Self signed certificate
POST /Endpoints/Arzel/Connect HTTP/1.1
User-Agent: PostmanRuntime/7.32.3
HTTP/1.1 400 Bad Request
Server: MicroRelayServer-LCC
Connection: Keep-Alive
Content-Type: text/plain
Content-Length: 84
Transfer-Encoding: chunked
{"code":4,"message":"Connect Failed!: Tstat is already connected with other mobile"}
Trying any other connect with any other appID fails with the same message as above. Any subsequent disconnects result in an response that isn't even HTTP :(
POST https://<IP_ADDRESS>/Endpoints/Arzel/Disconnect
Error: Parse Error: Expected HTTP/
Request Headers
User-Agent: PostmanRuntime/7.32.3
Accept: /
Accept-Encoding: gzip, deflate, br
Content-Length: 0

@GabeDeBacker - let's move this discussion to here https://github.com/PeteRager/lennoxs30/issues/246 - as I'm not sure this is the issue that is affecting @julietalpha1

It looks like the issue reported by @GabeDeBacker may be the root cause of your issue.  We have another report in #246 from a HASS user experiencing this whenever HASS is restarted or the integration reloaded.  I do wonder if that was your issue - restarting HASS?
it seems to have been introduced in the Lennox firmware update 4.20.0107 that you reported.
I will have a new release tomorrow.  Or you can apply the manual fix in #246.

Do you have the Android or IOS App?  When they are on the local network they talk directly to the s30/s40 via the same port this integration targets.  AFAIK, that app uses the disconnect endpoint also.   If you have the app it may be a good test to try it then logout of the app, see if that crashes the thermo also?

It looks like the issue reported by @GabeDeBacker may be the root cause of your issue. We have another report in #246 from a HASS user experiencing this whenever HASS is restarted or the integration reloaded. I do wonder if that was your issue - restarting HASS?
it seems to have been introduced in the Lennox firmware update 4.20.0107 that you reported.
I will have a new release tomorrow. Or you can apply the manual fix in #246.

I am having this problem also, with a single S40 that has the latest firmware on it. I already applied the manual #246 fix and have restarted HA many times, reinstalled the Lennox HA integration many times, and restarted the S40 many times. I can get HA to see the IP address of the S40, but it never discovers any additional entities.
How to best troubleshoot? Should I open a new Issue thread and post some log file contents?
My S40 was actually working with HA a few days ago. But in the interim two things probably happened, one of which (or both? or neither?) caused the integration to fail. Yesterday I re-connected the iHarmony zone controller, which had been enabled for a long time with my older S30, but the S30 got swapped out for an S40 a few weeks ago and only just now did the zone controller get re-connected. Also, it is possible the new version of S40 firmware got pushed out very recently.
Thanks!

@42Network - best thing to do is to enable message logging as described here and reload the integration.
https://github.com/PeteRager/lennoxs30#reporting-bugs
Also please include any errors or warnings that are reported in the home-assistant.log
since your symptoms are different let's put all of this in a new issue?

This issue should be fixed by this update.  If not please re-open this issue.
https://github.com/PeteRager/lennoxs30/releases/tag/2023.6.1


Sprite Scaling

Hey, Crafty is cool and I just started using it for a project. The biggest baffling thing is: Where is sprite scaling?!
You have lots of other fancy things, but not scaling sprites. I am going to have to go to another engine, since this is lacking!

You scale sprites by changing the size (height and width) of an entity -- there's an example here.
I suppose we could add some convenience method to the 2D component to scale by a ratio instead of to a fixed height/width.

I made a component for scaling entities, by setting a scale property. It also allows tweening.
https://github.com/matthijsgroen/game-play/blob/master/app/scripts/components/utils/scalable.coffee
It will also scale attached children, such as other entities and collision maps.
Note: it is written in coffeescript, but should be easy to port.

@starwed - I changed the height and width of my image sprite (has 2D, WebGL and Image components) and it only cropped it. Did the same with Canvas (instead of WebGL).

You should use the Sprite component instead

I will give that a try.

Checkout http://craftyjs.com/api/Crafty-load.html
The names in the spritemap will become components, so in the example of the API documentation:
Crafty.e('2D, DOM, lazycat').attr({ w: 400, h: 400 });

Will create a enlarged sprite.

@matthijsgroen Thanks - it just seems odd to make a spritemap for a single image.

@matthijsgroen - that code didn't work on a 2D/Image entity as one would expect. It basically did what I tried, change w/h and made it clip.

I know the behavior of Image seems a bit weird, but it's because of the support for "repeat" -- when you're tiling an image, you don't want changing the entity size to scale it.  So for consistency, it doesn't scale when you use no-repeat either.
If we did want to augment it, adding a new scale parameter to Image would probably make the most sense -- that would work with or without tiling.  So far that hasn't been a priority, because  sprite components are generally more performant and nicer to work with in the long run!  (Especially with WebGL, where you get a big increase in perf by keeping the total number of textures low.)

that code didn't work on a 2D/Image entity as one would expect. It basically did what I tried, change w/h and made it clip.

Looks like the Scalable component is supposed to make scaling an entity easier -- it doesn't change the behavior of the Image component.

Fair enough. The only woes with sprite and image inconsistencies on
"simple" transforms APIs is they are not as hot-swappable. I am not wanting
to start my new projects with filler assets as spritesheets, but am well
aware of the benefits of them later on in the lifecycle. It would be nice
to not have lots of work everytime my artist gives me new/more art.
Does sprite work with a sheet of mismatched sprite sizes?
On Wed, Jan 18, 2017 at 20:12 Tim Martin<EMAIL_ADDRESS>wrote:

I know the behavior of Image http://craftyjs.com/api/Image.html seems a
bit weird, but it's because of the support for "repeat" -- when you're
tiling an image, you don't want changing the entity size to scale it. So
for consistency, it doesn't scale when you use no-repeat either.
If we did want to augment it, adding a new scale parameter to Image would
probably make the most sense -- that would work with or without tiling. So
far that hasn't been a priority, because sprite components are generally
more performant and nicer to work with in the long run! (Especially with
WebGL, where you get a big increase in perf by keeping the total number of
textures low.)
that code didn't work on a 2D/Image entity as one would expect. It
basically did what I tried, change w/h and made it clip.
Looks like the Scalable component is supposed to make scaling an entity
easier -- it doesn't change the behavior of the Image component.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/craftyjs/Crafty/issues/1077#issuecomment-273677608,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAnZXIbBqe9_3qCdqUHboyCwFKMH_4Hzks5rTuK4gaJpZM4LmN9a
.

--
Jared Sartin
*Mobile *(269) 364-1735 | Twitter @JaredSartin
http://twitter.com/JaredSartin
Website http://jared.sart.in/

Yes it does, I usually use a grid of 32x32 tiles, and place the sprites in them. (With various sizes). When creating the entity with the sprite, I use the crop function to trim the transparent edges away.

If we did want to augment it, adding a new scale parameter to Image would probably make the most sense

Had a glance, and it actually doesn't look like it would trivial to do this.  For canvas, the Image component is relying on drawPattern, and drawPattern doesn't directly support scaling the image.  You can scale the canvas context, but that's (a) slower, and (b) would cause you to recalculate the bounds of the image, and you'd likely end up with annoying artifacts along the edge.
I think the real solution here is to allow you to give Crafty more flexibility in to how it loads assets in the first place: for instance, specifying a scale when you load an image in the first place.  Behind the scenes crafty could scale up the image using a canvas context, and then use that texture instead of the initially loaded image.

Here is a proof-of-concept that adds a scale parameter to the image() method -- this works by rendering the scaled image to a canvas, and then creating a new Image item from a data url.
I'd assume this could cause perf issues, but in terms of ease-of-use it's definitely superior!

I am not wanting to start my new projects with filler assets as spritesheets, but am well aware of the benefits of them later on in the lifecycle.

As matthijs has also pointed out, you can have the spritesheet be a single image. As in
Crafty.sprite(imgWidth, imgHeight, "image.png", {
    MyImage: [0,0]
});

This is also more flexible down the line, because when you eventually compact all your images in a spritesheet you merely have to change the coordinates and condense all Crafty.sprite statements into a single on.
I'm not sure if implementing not-so-optimal scaling for the "Image" component is the way to go here. Would good api documentation redirecting the user to the "Sprite" component suffice?

Updated docs in #1118. I hope that settles this issue, if not, don't hesitate to reopen!


[iOS] Specific widget combinations lead to a sharp increase in memory usage.

Recently, I discovered a memory issue in our project. I found that a specific combination of Widget structures is causing the problem. This issue only occurs on iOS devices and is not present on Android devices.
This example is a ListView-based list, and after scrolling for dozens of seconds, the memory consumption can reach up to 1GB.
Target Platform: iOS
Target OS version/browser: 16.3.1
Devices: iPhone 14 Pro Max
Sample

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: CustomScrollView(
        slivers: [
          SliverToBoxAdapter(
            child: ListView.builder(
              shrinkWrap: true,
              physics: const BouncingScrollPhysics(),
              itemBuilder: (context, index) {
                return SizedBox(
                  height: 200,
                  child: TextButton(
                    child: const Text("Button"),
                    onPressed: () {},
                  ),
                );
              },
              itemCount: 1000, //users.length,
            ),
          ),
        ],
      ),
    );
  }
}

Xcode Memory Navigator
The code is very simple, but the memory navigator in Xcode displays an huge amount of memory consumption.

flutter doctor -v

flutter doctor -v
[!] Flutter (Channel stable, 3.7.6, on macOS 13.2.1 22D68 darwin-arm64, locale en-CN)
    • Flutter version 3.7.6 on channel stable at /Users/<USER>/Develop/flutter/3.7.6
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.18.6/libexec/bin/dart, which is not inside your current Flutter SDK checkout at
      /Users/<USER>/Develop/flutter/3.7.6. Consider adding /Users/<USER>/Develop/flutter/3.7.6/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 12cb4eb7a0 (4 weeks ago), 2023-03-01 10:29:26 -0800
    • Engine revision ada363ee93
    • Dart version 2.19.3
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/<USER>/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • ANDROID_HOME = /Users/<USER>/Library/Android/sdk
    • Java binary at: /Users/<USER>/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/221.6008.13.2211.9619390/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/<USER>/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/221.6008.13.2211.9514443/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/<USER>/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/221.6008.13.2211.9619390/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.76.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.60.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

<!--
1.  Please tell us exactly how to reproduce the problem you are running into, and how you measured the performance.
<ol start="2">

Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.

Switch flutter to master channel and run this app on a physical device
using profile or release mode. Verify that the performance issue can be
reproduced there.
The bleeding edge master channel is encouraged here because Flutter is
constantly fixing bugs and improving its performance. Your problem in an
older Flutter version may have already been solved in the master channel.
-->

Hello @ninewine. Could you confirm if this issue occurs on the master channel as well?

@exaby73  Thank you for your response. I confirmed that this issue no longer occurs in the master channel. Can you please tell me which commit fixed this issue?

I am not sure which commit fixed it. But rest assured, this fixed will be included in a future stable release. But since this issue is fixed, I will close this issue. Thank you


Update ui component diagram

Resolves #198

Pull Request Test Coverage Report for Build 467

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.282%

Totals

Change from base Build 466:
0.0%

Covered Lines:
1888

Relevant Lines:
2267

💛  - Coveralls


Add Automatic Container Instance Draining during ASG Scale-Down Event

New stack "LifecycleHook" (*must put lifecyclehook.yaml into S3 Bucket, to be available at https://s3.amazonaws.com/ecs-refarch-cloudformation/infrastructure/lifecyclehook.yaml)
Before a Container Instance in the Autoscaling Group is terminated (due to scale-in), it will enter Terminating:Wait lifecycle hook.
Lambda function will drain running Tasks from container Instances where possible, and send complete_lifecycle_action to ASG when no Tasks are running/pending on Instance.

❤ this! Awesome contribution.


Add VTKNetCDFFileReader PolyDataIO

Add a PolyDataIO based on the VTK::IONetCDFmodule:
https://github.com/Kitware/VTK/tree/master/IO/NetCDF
Steps (a complete example can be found here):

[ ] Verify that the test suite runs and passes locally.
[ ] Create src/Bindings/VTKNetCDFFileReader.cxx. This command line executable should accept the input filename as its first argument and the output filename as the second argument. It should use vtkJSONDataSetWriter to write the output.
[ ] Add CMake configuration to build the command line executable at src/Bindings/CMakeLists.txt. Use this to build a native binary against a native VTK. Run it to verify that it behaves as expected.
[ ] Upload a test dataset(s) to data.kitware.com and place their *.sha512 file at test/Input/. Add the file path(s) to test/CMakeList.txt.
[ ] Add VTKNetCDFFileReader to src/PolyDataIOIndex.js.
[ ] Add VTKNetCDFFileReader to CMakeLists.txt PolyDataIOPipelines and set polydataios_VTKNetCDFFileReader to vtkIONetCDF.
[ ] Add a description of the new supported file format(s) in doc/content/docs/polydata_formats.md.
[ ] Add new supported file extensions to src/extensionToPolyDataIO.js.
[ ] Based on the output on the local filesystem with the native binary in the first step, add test(s) and define expected output in test/readPolyDataLocalFileSyncTest.js.
[ ] Run npm run build and npm run test; fix issues identified.
[ ] Create a  PR! :taco: :tada: :rocket: :woman_singer:

Closing until #186 addressed


[Settings] Dev Home Settings Preferences page has improper styling for theme selection

Dev Home version
No response
Windows build number
No response
Other software
No response
Steps to reproduce the bug
Description
Theme selection should be a selector bow (currently radio buttons)
Expected result
No response
Actual result
No response
Included System Information
No response
Included Extensions Information
No response

Duplicate of #1142


The assets list isn't displaying fully

Describe the bug
The assets list isn't displaying fully. This issue  is present on dev, on dev eth branch and even on product.
I think there is an issue with mainnet , I got 400 error.
To Reproduce
Steps to reproduce the behavior:

Go to Assets list
Compare with number of assets
Open console
See error

Expected behavior
All assets should be present in assets list.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOS
Browser FF
Version 121

Additional context
Reproducible on dev, eth dev branches.

https://github.com/superhero-com/superhero-wallet/assets/69896204/cb76dd5e-ba97-475e-80ba-728281385232

Fixed, can be closed.


Fixed the labs page "Start Learning" button to centered

closes #5343
This PR fixes the Labs page, "Start Learning to code" button to centered, as pointed in the issue.
I have tested locally.

Looks good :+1:


Only global resync when the replicas of the STS change

This should help with reducing API server calls

/retest-required

/retest-required

/test reconciler-tests

/retest-required

/test channel-integration-tests-ssl

/cherry-pick release-1.13
/cherry-pick release-1.12

/cherry-pick release-1.12
I keep forgetting you can only do one per comment :laughing:


Build script could produce entire working production copy of project

In the build for our app, I made it so that it copies the entire project - images, documents, stylesheets and all - over into the production directory, unless files are specified in config to be ignored (like readme, static API snapshots, other dev things etc.)
This enables me to scp the entire project in one go without having to move anything around.
Sure you can run the nodeJS server via node build/server debug and it will automatically pull the minified files from the /dist directory, but I don't imagine many people will use the nodeJS server in production, so that means they'll have to do some wrangling each and every time they build the project (which could be every time something is changed, if they're using the watcher)
This would work well as a config setting. Result is that after building, you know the entire application is ready to rock and/or upload in one go!
Also allows you to run build extensions or plugins on any other type of file in the project as part of it.


Error while hitting login URL in IFrame with common endpoint but working fine with tenant specific endpoint

Hi,
We are trying OAuth2.0 for login. While login the endpoint that we are using are as follows,
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
We are trying to hit the login URL in IFrame, if we replace the {tenant} is replaced by 'common' it's giving error as 'X-Frame-Options' is set to 'deny'.
But it's working fine when the {tenant} is replaced by 'tenant Id'
Why is there difference in both the endpoints

@dvd95 Have you checked this thread: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/1269 which is for the same issue?

Closing out as duplicate of #1269


Model::increment/Model::decrement does not fire Model Events

Laravel Version: 5.3
PHP Version: 7.1.1
Database Driver & Version:

Description:
Is there any specific reason why Model::increment/Model::decrement does not fire update events?
Steps To Reproduce:
Just increment/decrement anything on a model and try to catch eloquent.updating:*/eloquent.updated:*

Please upgrade to 5.4 since we fixed a lot of the issues that was reported in 5.3

Sorry to say but its not fixed there, but i am not sure if it is bug or intended

@themsaid , I also confirm this issue. Increment and Decrement function is not firing an event.

@themsaid I debugged this, If I listen through DB::listen(), It is giving me query of increment and decrement. But If I listen through Event::listen('eloquent.*') It is not giving me anything.

Im pretty sure it has never fired an event as it doesn't call save, it calls increment/decrement directly on a builder.

Why was this issue closed? This issue still exists.

Anyone can help me?
I have this view post function

I also make categories for posts  :

visit count will increase if we view posts.
If i view posts at homepage i don't get error. But if  i try to view posts by categories and get this errror :

I think you need to "save" the model after making changes, and then the event will be fired.
Instead of $post->increment(); try
$post->update([ 'views' => DB::row('views + 1') ])
I think anyway, not sure :)

I think, decrement and increment, should fire update events! It's updating the model.
Please reopen this issue.

I completely agree here.

Hey ... nothing seems to be moving here.
Can we have an "official" point of view ?
Can we expect such an improvement in the future OR is it not planed at all ?

+1

Any updates on this? @themsaid @taylorotwell
I am curious why an update to a model wouldn't trigger the model update events. I am specifically asking related to Scout. When I increment a comments like count value the comment instance in Algolia is now out of sync.

Hey Googlers,
You may find the official point of view here: https://github.com/laravel/framework/issues/16527#issuecomment-262856444
If you still want to fire an updated model event, you can change something like this:
Tag::withTrashed()->whereIn('id', $tagsSynchronization['attached'])->increment('taggables_count', 1);
into this :
Tag::withTrashed()->whereIn('id', $tagsSynchronization['attached'])->get()->each->update(['taggables_count' => \DB::raw('taggables_count + 1')]);
I just wanted to highlight the fact that, in the context of an increment/decrement, getChanges() or getDirty() or getAttributes() etc, might not return what you'd expect (and need). That is to say, you will have an instance of Illuminate\Database\Query\Expression (https://laravel.com/api/6.x/Illuminate/Database/Query/Expression.html) --> https://i.imgur.com/cwEzSMq.png

+1
I do want to add though that these increment and decrement functions have a specific use case, which is to solve concurrency issues when running multiple processes.
Trying to increment or decrement in PHP code using something like:
$model->update([
    'value' => $model->value + 1
]);

can occasionally cause issues depending on the time the $model is retrieved from the database. Since the time of retrieval is not the same as the time of updating, something might've changed in the meantime (like process A wants to change it from 1 to 2, but process B is running at the same time which also retrieved a 1 from the database, incrementing it to 2 (which should be 3)).
In sql (InnoDB) you can ensure that these queries are run one after another (so they are atomic).

After some extra thought I think I know why this is not currently implemented:
If the updating hook would be added to the increment/decrement function, you couldnt know the getDirty() value of your incrementing column when you retrieve it inside your updating callback, since you aren't "setting" the value, but "incrementing".
Since the query doesn't actually become change col_b to 50, but instead it will be executed as change col_b to col_b + 20 (you dont know the end result).

This is my way and it's not perfect but working.
Add this function to your model.
    protected function incrementOrDecrement($column, $amount, $extra, $method)
    {
        $this->{$column} = ($method == 'increment' ? $this->{$column} + $amount : $this->{$column} - $amount);
        $this->fireModelEvent('saving', false);
        $this->{$column} = ($method == 'increment' ? $this->{$column} - $amount : $this->{$column} + $amount);
        $result = parent::incrementOrDecrement($column, $amount, $extra, $method);
        $this->fireModelEvent('saved', false);
        return $result;
    }

@themsaid @taylorotwell
It's 2020 and this issue still exists.

@amir9480 what about updating/updated hooks? Read my last comment to see what the possible issue is.

@bert-w
First I change attribute on the model.
$this->{$column} = ($method == 'increment' ? $this->{$column} + $amount : $this->{$column} - $amount);

Then firing the "saving" event. So i kind of faked dirty.
when the "saving" event done I return them to the original value.
You can also call "updating"/"updated" events.
I know it's not a perfect solution if multiple increments simultaneously happen.

It would be nice to mention this in the documentation ..
blah blah blah .. increment/decrement do not trigger events udating/updated .. =|
Spent time after refactoring to understand why observer broke =D
Very very dirty hack .. call the method  $model->touch(); after...

Nobody is thinking this through. There is just complaining.
From my post on another issue:
Note that, sure, we can add the events to this method; however, there is no way to gurantee that the dirty / changed values are actually what the values are going to end up being in the database. We must always run this query as a query that looks like update table set column = column + 1 because multiple processes could be trying to increment the column at the same time.
Therefore, it is impossible for us to know what the new column value will actually be until after we run the query, so the "dirty" value in the updating event would always be a guesstimate. It could never be guaranteed to be correct.

@taylorotwell
Sure using events is not a perfect way.
But is something like this possible to do on Increment/Decrement queries?
`table`.`updated_at` = GREATEST(`table`.`updated_at`, :CurrentTime)

@taylorotwell
What about just saved / updated?
Can we get value from the database after updating?
Just saved / updated gonna fit my need for most cases.


useless "setGestureShouldRecognizeTouchBlock:"

setGestureShouldRecognizeTouchBlock:
the name of this method says "can the current gesture work?". Then why doesn't it disable pan gesture or other gestures?

Same problem here, using swift.


Cannot install in empty react-native project

Hello!
I just executed npm install --save react-native-ble-plx in my project directory, but the dependencies RxBluetoothKit.framework and RxSwift.framework are not installing, due to an incompatible swift version.
It tells me that my swift version is to high. What should i do to fix this problem?
image

I think this error is a bit misleading. It only means that due to higher version of your Swift compiler carthage couldn't use prebuild binaries and had to compile them from source. Everything should work just fine.

What should i do to fix this problem?

You can't really. I will update to High Sierra soon and rebuild dependencies with Swift 4.1.

#243

@Cierpliwy Great! Thanks for your adequate reaction.

@Cierpliwy whats the purpose of using carthage in this package? Can it be removed?
With the complexity of brew now not allowing sudo and the postinstall.js script failing (#174) it seems more trouble than it's worth
At least I've spent way to much time trying to get around carthage for this package

@Cierpliwy any news on building dependencies with Swift 4.1 ?


⚠ Bofrost.at has degraded performance

In 0b8cafb, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1535 ms

Resolved: Bofrost.at performance has improved in 57babb0.


Domain Driven Design model for game core

The game core is a perfect candidate for a DDD model.
Let's create a glossary first that contains e.g. fleet, star, colony, universe, ship, nation etc.
The handbook of the original Master of Orion, the Master of Orion section of StrategyWiki, the FreeOrion requirements and even the reboot of Master of Orion might be sources of inspiration... ;-)
By the way, the Master of Orion can now even be played in the Browser.

The glossary and domain operations are placed in the docs folder.


SOLR-16823: mark as deprecated the bin/solr zk -upconfig equivalents of bin/solr zk upconfig

https://issues.apache.org/jira/browse/SOLR-16823
Description
echo out to users that -upconfig should be upconfig for the various zk commands.
Solution
I will commit and backport to 9x, and remove the support from main.
Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[ ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[ ] I have developed this patch against the main branch.
[ ] I have run ./gradlew check.
[ ] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

I didn't add a changelog entry thinking this was too minor..


How can I draw emoji symbols using Text component?

I've been trying to draw emoji characters in the string but Text component just skips these symbols.
I have also tried to use AppleEmojiFont (iPhone environment) in fontFamily property.
No luck still, and it actually got even worse.
Need help, thanks!

You either need to use a font with built in glyphs for unicode emojis, or then you can simply use normal svg, look at e.g. react-native-vector-icons

@sertony Can you try this? https://github.com/react-native-community/react-native-svg/pull/746

@sertony Can you try
yarn add react-native-svg@msand/react-native-svg#e613efa
or
npm i react-native-svg@msand/react-native-svg#e613efa

Closing because of inactivity.


Build failed: build windows.10.amd64.coreappcompat timed out

Pipeline run here: https://dnceng.visualstudio.com/internal/_build/results?buildId=2524936&view=logs&s=f99243ce-e7de-5a7f-d835-7041f05f4667
Build failed due to the time out for the queue windows.10.amd64.coreappcompat

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description
No release notes

The image generation failed with:

Message: Artifact Failure: any-os-validate has timed out after 08:00:00

2024-09-03 07:16:25Z -> Validating artifact windows-new-edge...
2024-09-03 07:16:25Z -> DEBUG:  130+  >>>> $parameters = @{}
2024-09-03 07:16:25Z -> DEBUG:  131+  >>>> &
2024-09-03 07:16:25Z -> "$($env:SystemDrive)\osob\validate/windows-new-edge/oi4V66QOmnjDJ8tL-L9qLyNWANZ-xizmBfeMC8pj4Hg.ps1" @parameters
2024-09-03 07:16:25Z -> DEBUG:  131+ & "$( >>>>
2024-09-03 07:16:25Z -> $env:SystemDrive)\osob\validate/windows-new-edge/oi4V66QOmnjDJ8tL-L9qLyNWANZ-xizmBfeMC8pj4Hg.ps1" @parameters
2024-09-03 07:16:25Z -> DEBUG:    1+  >>>> . "$($env:SYSTEMDRIVE)\helix-prep\util.ps1"
2024-09-03 07:16:25Z -> DEBUG:    1+ . "$( >>>> $env:SYSTEMDRIVE)\helix-prep\util.ps1"
2024-09-03 07:16:25Z -> DEBUG:    3+  >>>> Set-StrictMode -Version 2.0
2024-09-03 07:16:25Z -> DEBUG:    4+  >>>> $ErrorActionPreference = "Stop"
2024-09-03 07:16:25Z -> DEBUG:   11+  >>>> $StorageAccountUri = "https://netcorenativeassets.blob.core.windows.net"
2024-09-03 07:16:25Z -> DEBUG:   12+  >>>> $StorageAccountInternalUri = "https://netcoreassetsinternal.blob.core.windows.net"
2024-09-03 07:16:25Z -> DEBUG:   13+  >>>> $ProgressPreference = "SilentlyContinue"
2024-09-03 07:16:25Z -> DEBUG:    3+  >>>> $edgePath = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App
2024-09-03 07:16:25Z -> Paths\msedge.exe").'(default)'
2024-09-03 07:16:25Z -> DEBUG:    5+ if ( >>>> -not (Test-Path $edgePath)) {
2024-09-03 07:16:25Z -> DEBUG:   10+  >>>> $installedVersion = (Get-Item $edgePath).VersionInfo.FileVersion
2024-09-03 07:16:25Z -> DEBUG:   11+  >>>> Write-Output "Detected Microsoft Edge version $installedVersion"
2024-09-03 07:16:25Z -> Detected Microsoft Edge version 128.0.2739.54
2024-09-03 07:16:25Z -> DEBUG:   14+  >>>> & "$edgePath" --headless --enable-logging --disable-gpu --disable-gpu-compositing | Out-String
2024-09-03 15:16:06Z -> ------------------------------------------any-os-validate HAS TIMED OUT AFTER 480 MINUTES------------------------------------------

Something is going no when we're trying to start edge in headless mode. I'll try to get a repro in a VM That I can poke at.

The major version we are updating to  (128) has some known high impact issues that are resolved in version 128.0.2739.63. I'll try to get us an updated version of the artifact to test it out
https://learn.microsoft.com/en-us/deployedge/microsoft-edge-known-issues#high-impact-issues

I updated the storage account with the new artifact version, and I'm running a new attempt of the PR: https://dev.azure.com/dnceng/internal/_build/results?buildId=2531135&view=results

I was able to unblock the monthly updates by reverting the edge update. I left the next update date for 3 months from now, and I'll start looking at the artifact now as part of https://github.com/dotnet/dnceng/issues/3980


Typo in: 6.9 Functional Dependencies

The example fundep is stream -> element but in the next paragraph it refers to it by list -> element.

class Stream stream element | stream -> element where
  uncons :: stream -> Maybe { head :: element, tail :: stream }

Here, list -> element is called a functional dependency.

Oops, thanks!

Making a patch release for this now, thanks!


fix: guide navigation links are broken

Description (*)

Change Log
Add hyphen between Chinese words to fix this issue.
Root Cause
If spaces were allowed in link text, it would be difficult for Markdown parsers to determine where the link text ends and the link URL begins. To avoid these issues, it's recommended to use hyphens (-) or underscores (_) to represent spaces in link text.

Hi @ZakaryCode , please help review & merge this PR, thanks!!🙏


Sw 5026 deputy hub setup

On the ticket, there is mention of adding a cypress test, lighthouse and pally which I couldn't see in the PR - has this been removed from the AC of the ticket (if so, this is fine).

On the ticket, there is mention of adding a cypress test, lighthouse and pally which I couldn't see in the PR - has this been removed from the AC of the ticket (if so, this is fine).

Oops yes I should've mentioned. We agreed it's best ignore the cypress, lighthouse and pa11y requirements for this initial setup, as we don’t have a UI to test and instead add it to the first UI ticket (which i will do now!).


Trying to add an IPv6 address to a named location

It is unclear how to add IPv6 addresses in the web interface.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 85e48aef-a7bc-38e2-f762-0162e154a6c4
Version Independent ID: 6f37ac44-d5b8-5cce-ee0e-e31d1d6c863a
Content: Configure named locations in Azure Active Directory
Content Source: articles/active-directory/reports-monitoring/quickstart-configure-named-locations.md
Service: active-directory
Sub-service: report-monitor
GitHub Login: @MarkusVi
Microsoft Alias: markvi

@stumbaumr Thanks for your feedback! We will investigate and update as appropriate.

@stumbaumr Thank you for your patience with us on this. We have checked this internally and found that currently IPv6 addresses are not supported for named locations in conditional access policy and hence you do not have a way to ad it on the web interface. Fortunately we have a feedback product request item on uservoice for the same and the product group has acknowledged this and started working on this a few months ago. I do not have a timeline for when it will be available, however I would urge you to provide your comments on upvote the request . The product group periodically reviews the same and keeps updating the status on the same. We will now close this issue , should you have any further queries, feel free to tag me or Frank to your reply and we will be happy to help.
Thank you.


Fix default pipeline output problem

Fix: https://github.com/OpenCSGs/llm-inference/issues/16

@depenglee1707 Would you please review? thanks.

UT tests:
% llm-serve start experimental --model ./models/translation--t5-small.yaml
[2024-03-11 15:25:59,966] [INFO] [real_accelerator.py:161:get_accelerator] Setting ds_accelerator to mps (auto detect)
[2024-03-11 15:26:00,083] torch.distributed.elastic.multiprocessing.redirects: [WARNING] NOTE: Redirects are currently not supported in Windows or MacOs.
[INFO 2024-03-11 15:26:03,026] utils.py: 32  Parsing model args ['./models/translation--t5-small.yaml']
[INFO 2024-03-11 15:26:03,026] utils.py: 45  Parsing model path ./models/translation--t5-small.yaml
[INFO 2024-03-11 15:26:03,630] run.py: 111  Initialized a LLM app instance of LLMApp {

.....

(ServeReplica:t5-small:t5-small pid=43494) DeprecationWarning: `ray.state.actors` is a private attribute and access will be removed in a future Ray version.
[INFO 2024-03-11 15:26:19,811] client.py: 577  Deployment 't5-small:oaPheo' is ready. component=serve deployment=t5-small
[INFO 2024-03-11 15:26:19,811] client.py: 577  Deployment 'ExperimentalDeployment:FAuiOd' is ready at `http://<IP_ADDRESS>:8000/t5-small`. component=serve deployment=ExperimentalDeployment


Add RoleEligibilityScheduleRequestClient

This PR adds a RoleEligibilityScheduleRequestClient, which lets us use the PIM API for managing role eligibilities. This is part of a PR to the https://github.com/hashicorp/terraform-provider-azuread repo, where we would like to be able to manage role eligibilities through terraform.
I havn't written any tests, as I wanted to get some input on how this should be done. The user/service principal requires a role and a permission to be able to use the API. Should I set up the permissions as part of the test (and remove them after)? Should I assume the calling service principal has the correct roles and permissions?

Hi @JonasBak, thanks for submitting this, your contribution is very appreciated! Apologies for the delayed response - this is looking good so far! When it comes to the tests, don't worry about the permissions as we'll add these as needed to our testing principal (it doesn't have the privilege to create its own role assignments anyway).

I lost access to the "sandbox tenant" I used when I started working on this, so I didn't prioritize it for a while, but it looks like someone created their own PR 🙌 If that gets merged, I'll just update my PR to the terraform provider.

I rebased and added a basic test

Thanks for the feedback 🙌 I have some problems with the test being flaky, as it sometimes fails with RoleNotFound: The role is not found, what can I do to improve this?

Also, should I add the recurrence field in requestSchedule? It says that it's unsupported in PIM.


Enforce link checking

Summary

Force checking every link
Weekly schedule checks for links

Related issue : #603

I only see the below now:
FILE: ./content/en/users/compute/cloud-compute/dynamic-dns/_index.md
[✖] https://www.noip.com/integrate/request → Status: 404

7 links checked.

ERROR: 1 dead links found!
[✖] https://www.noip.com/integrate/request → Status: 404

we are green! @gwarf could you check the PR?

@andrea-manzi could you check this one?

now that you checked all files i see that the check Links step lasts 11 min. is that fine?

maybe we should check all files only in the scheduled run? @gwarf

That's a good idea, thanks!


feat(migration): add cjs option for emit

related to https://github.com/mikro-orm/mikro-orm/issues/4005
In case @stabai doesn't reply, I'd like to submit my PR.

and actually another one - do the same for the migrations-mongodb package, the code is unfortunately duplicated (otherwise we would have to have some internal packages, had it this way before and it was causing another sort of issues)

Codecov Report
Base: 99.77% // Head: 99.77% // No change to project coverage :thumbsup:

Coverage data is based on head (da5418b) compared to base (31b89b8).
Patch coverage: 100.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4016   +/-   ##
=======================================
  Coverage   99.77%   99.77%
=======================================
  Files         214      214
  Lines       13736    13736
  Branches     3216     3216
=======================================
  Hits        13705    13705
  Misses         29       29
  Partials        2        2

Impacted Files
Coverage Δ

packages/core/src/utils/Configuration.ts
100.00% <ø> (ø)

packages/migrations-mongodb/src/Migrator.ts
97.75% <ø> (ø)

packages/migrations/src/Migrator.ts
97.89% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


jgrss/reshape

Fixes a bug with time series augmentation reshaping back to original dimensions.

Great, I'll install the latest commit tomorrow!