Until the zwave.network_ready event is fired, Home Assistant can’t actually communicate with the devices, so, for your automations, you could try checking if the sensor is accessible before running any actions:
condition:
condition: template
value_template: '{{ states.sensor.ecolink_doorwindow_sensor_sourcenodeid_28.state }}'
That should result in a false, non-passing condition if the zwave network is not yet ready, just make sure you are checking against the physical device sensor and not a template sensor.
Of course I have not tested this myself, but as I use something similar when checking battery states of all of my sensors, it correctly returns false when the zwave network is not ready. I use this to prevent errors in my startup when it can not access the value of a non-existant device.
Here is the code I use to check for battery state:
batt_kitchen_window:
value_template: >-
{%- if states.sensor.ecolink_doorwindow_sensor_sourcenodeid_28.state -%}
{{ states.sensor.ecolink_doorwindow_sensor_sourcenodeid_28.attributes.battery_level }}
{%- else -%}
--
{% endif %}
friendly_name: 'Kitchen Window'
unit_of_measurement: '%'
With this, at startup, it displays a double dash (-- %) instead of the battery level, until everything is booted up.
Or, it may be as simple as checking both a from and to in the trigger state, so:
trigger:
platform: state
entity_id: sensor.living_room_window
from: "off"
to: "on"
or if you are using a template sensor
from: "Closed"
to: "Open"
instead of checking just a specific state.
That may be just enough to not fire the actions at startup, because Home Assistant may be setting it to “on” or “Open” directly, therefore there would not be a “from” state, and hopefully that will stop it from firing the action, but again, you’d have to test it.