Zwift Sensor Component - Feedback and Testers Needed

Strangely just doubling the value seems to be fairly spot on. I’ll try to log some data on various maps to see if it stays consistent.

With the new 2 second refresh time, worst case I see a 2 second delay in the response. This means quick rolling hills don’t get perfectly represented but for any noticeable climb (or descent) it is more immersive.

It’s already about as good as the $600 retail equivalent.

is the reported gradient value related to the difficulty level? Default difficulty level is 50% I believe so would tie in with doubling to obtain “true” gradient value.

Used Hue Play Lights to color coordinate heartrate and power zones. Works great - thank you for the zwift component addin!

- id: '########'
  alias: Pain Cave Power
  initial_state: 'on'
  condition:
    - condition: state
      entity_id: light.####
      state: 'on'
  trigger:
    platform: state
    entity_id: sensor.zwift_power_xxxxxxx
  action:
    service: light.turn_on
    entity_id: light.####
    data_template:
      color_name: >
          {% if states('sensor.zwift_power_xxxxxxx') | int <= ### %} light blue
          {% elif states('sensor.zwift_power_xxxxxxx') | int <= ### %} blue
          {% elif states('sensor.zwift_power_xxxxxxx') | int <= ### %} green
          {% elif states('sensor.zwift_power_xxxxxxx') | int <= ### %} yellow
          {% elif states('sensor.zwift_power_xxxxxxx') | int <= ### %} orange
          {% elif states('sensor.zwift_power_xxxxxxx') | int > ### %} red
          {% else %} white
          {% endif %}
2 Likes

Where do you put this? is this a script? I am also attempting to get some hue lights to change color depending on my power zone.

Yes as a script

How did you accomplish the rounding (reduced decimals) in the sensors? I tried | round(0) and see no difference in lovelace.

I used round(2) to go to two decimal places.

@Simon_Funnell Figured it out. I also needed to convert units. This got me what I needed:

  {{
  (states.sensor.zwift_online_4923577.attributes.latest_activity.distanceInMeters
  * 0.000621371) | round(1) }}  Miles driven

  {{
  (states.sensor.zwift_online_4923577.attributes.latest_activity.totalElevation
  * 3.281) | round(0) }} Feet climbed

  {{ states.sensor.zwift_online_4923577.attributes.latest_activity.avgWatts |
  round(0) }} Average power watts

  {{ states.sensor.zwift_online_4923577.attributes.latest_activity.calories |
  round(0) }} Calories burnt
1 Like

Heads up on some changes coming to zwift:

2 Likes

Is this related to the above mention of changes in the API or something different?

First occurred: 1 July 2022 at 21:08:38 (20192 occurrences)
Last logged: 19:14:59

something went major wrong while updating zwift sensor for player [number]
Traceback (most recent call last):
  File "/config/custom_components/zwift/sensor.py", line 376, in update
    latest_activity.get('worldId'))
AttributeError: 'NoneType' object has no attribute 'get'

As above, any idea if this is affected by the Zwift API changes, i.e. is it going to suddenly stop working?! (Would be a shame!!)

Yep, it would definitely be shame if it will stop working because of the API changes.

thanks for escalating everyone. I’ve been engaged in the conversations on github with the zwift engineers and according to them, this integration should be fine! please do let me know if anyone experiences issues after the 20th.

1 Like

@phillprice are you still seeing this error? it looks like it may have been a blip with the API

Any other beginners here who actually got the two examples of Zwift power controlled lights to work?

Just copying them in Scripts yaml editor and changing Zwift ID’s and entity ID’s to my own does not seem to work for me. I get “Message malformed: expected a dictionary”. (I have no idea what I’m doing tbh)
If someone could give a short “dummy guide” it would be very much appreciated.

I use this Node Red script to control my lights and fan during Zwifting.

{id":"edbfabe1c95de39e","type":"tab","label":"Zwift + sporting","disabled":false,"info":""},{"id":"fd2e2d87c2b3b999","type":"api-current-state","z":"edbfabe1c95de39e","name":">=90: Zwift Fan - laag is (aan)","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.fan_zwift_low","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1120,"y":30,"wires":[[],["0da5a3451c489a70"]]},{"id":"0da5a3451c489a70","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - laag - On","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_low"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1395,"y":30,"wires":[["9b8e64ce537994b7"]]},{"id":"d6b41c854dd28107","type":"switch","z":"edbfabe1c95de39e","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"125","vt":"num"},{"t":"gte","v":"145","vt":"num"},{"t":"gte","v":"160","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":710,"y":165,"wires":[["b28cb96a9b0486b7","c21fd51d19eab39c","eaf5890278ce3718"],["24cbaa43ad1b6bcd","6aa63744d0f6a8e1"],["6aa63744d0f6a8e1"]]},{"id":"3ccd194ecc70c9fb","type":"api-current-state","z":"edbfabe1c95de39e","name":">=166: Zwift Fan - hoog is (aan)","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.fan_zwift_high","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1120,"y":240,"wires":[[],["e9aeb32bc2970d80"]]},{"id":"e9aeb32bc2970d80","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - hoog - On","server":"480f0ad4.89a784","version":5,"debugenabled":true,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_high"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1405,"y":240,"wires":[["ad9b922701857f7d"]]},{"id":"c21fd51d19eab39c","type":"switch","z":"edbfabe1c95de39e","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"90","vt":"num"},{"t":"lte","v":"89","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":905,"y":30,"wires":[["fd2e2d87c2b3b999"],["6f1a38c1cfe7cc78"]]},{"id":"48ccf46c31aca74a","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - laag - Off","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_low"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1395,"y":75,"wires":[["d1c6fb8cfb405a92"]]},{"id":"6f1a38c1cfe7cc78","type":"api-current-state","z":"edbfabe1c95de39e","name":"<=89: Zwift Fan - laag is (aan)","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.fan_zwift_low","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1120,"y":75,"wires":[["48ccf46c31aca74a"],[]]},{"id":"6aa63744d0f6a8e1","type":"switch","z":"edbfabe1c95de39e","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"166","vt":"num"},{"t":"lte","v":"164","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":905,"y":240,"wires":[["3ccd194ecc70c9fb"],["b28cb96a9b0486b7"]]},{"id":"b28cb96a9b0486b7","type":"api-current-state","z":"edbfabe1c95de39e","name":"<=164: Zwift Fan - hoog is (aan)","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.fan_zwift_high","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1120,"y":285,"wires":[["4ea3989853ed7ad5"],[]]},{"id":"4ea3989853ed7ad5","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - hoog - Off","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_high"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1405,"y":285,"wires":[["614ac7bfe29ea16a"]]},{"id":"2136525fccc529ba","type":"api-current-state","z":"edbfabe1c95de39e","name":"Zwift heart rate >= 80","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"80","halt_if_type":"num","halt_if_compare":"gte","entity_id":"sensor.zwift_heart_rate_4431663","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":310,"y":165,"wires":[["e29cb1aafd45ae4f"],[]]},{"id":"515b508b50c8d752","type":"server-state-changed","z":"edbfabe1c95de39e","name":"Zwift cadance >=40","server":"480f0ad4.89a784","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.zwift_cadence_4431663","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"40","halt_if_type":"num","halt_if_compare":"gte","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":90,"y":165,"wires":[["2136525fccc529ba"],[]]},{"id":"e29cb1aafd45ae4f","type":"function","z":"edbfabe1c95de39e","name":"Set text to number","func":"msg.payload = Number(msg.payload);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":165,"wires":[["d6b41c854dd28107"]]},{"id":"15bc20f7008b49ee","type":"comment","z":"edbfabe1c95de39e","name":"Hartslag Zwift -> snelheid fan","info":"","x":120,"y":120,"wires":[]},{"id":"24cbaa43ad1b6bcd","type":"switch","z":"edbfabe1c95de39e","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"152","vt":"num"},{"t":"lte","v":"151","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":905,"y":135,"wires":[["9e7ae02b82f2ae22"],["eaf5890278ce3718"]]},{"id":"9e7ae02b82f2ae22","type":"api-current-state","z":"edbfabe1c95de39e","name":">=152: Zwift Fan - middel is (aan)","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.fan_zwift_middel","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1130,"y":135,"wires":[[],["8674f0a71d22960a"]]},{"id":"8674f0a71d22960a","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - middel - On","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_middel"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1405,"y":135,"wires":[["219df86bb813180a"]]},{"id":"334c2cd94a1ca943","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - middel - Off","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_middel"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1405,"y":180,"wires":[[]]},{"id":"eaf5890278ce3718","type":"api-current-state","z":"edbfabe1c95de39e","name":"<=151: Zwift Fan - middel is (aan)","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.fan_zwift_middel","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1130,"y":180,"wires":[["334c2cd94a1ca943"],[]]},{"id":"982718f3bcf88616","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift verlichting groep - E14 WIZ rood (ON)","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.zwift_verlichting_groep"],"data":"{\"transition\":150.0,\"rgb_color\":[255,0,0],\"brightness_step_pct\":100}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"first","x":1895,"y":240,"wires":[[]]},{"id":"5b579bbc19bc44d5","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift verlichting groep - E14 WIZ blauw (ON)","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.zwift_verlichting_groep"],"data":"{\"transition\":150.0,\"rgb_color\":[20,3,252],\"brightness_step_pct\":100}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"first","x":1895,"y":135,"wires":[[]]},{"id":"84e784c5b078a7d7","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift verlichting groep - E14 WIZ groen (ON)","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.zwift_verlichting_groep"],"data":"{\"transition\":150.0,\"rgb_color\":[66,209,33],\"brightness_step_pct\":100}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"first","x":1895,"y":30,"wires":[[]]},{"id":"b09562d93e0157fe","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift verlichting groep - E14 WIZ blauw (ON)","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.zwift_verlichting_groep"],"data":"{\"transition\":150.0,\"rgb_color\":[20,3,252],\"brightness_step_pct\":100}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"first","x":1895,"y":285,"wires":[[]]},{"id":"a5ac1d4eb7dbd911","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift verlichting groep - E14 WIZ groen (Off)","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.zwift_verlichting_groep"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"first","x":1895,"y":75,"wires":[[]]},{"id":"2312d18221b61d56","type":"inject","z":"edbfabe1c95de39e","d":true,"name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"90","payloadType":"str","x":500,"y":60,"wires":[["d6b41c854dd28107"]]},{"id":"191ce25bb4517837","type":"inject","z":"edbfabe1c95de39e","d":true,"name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"155","payloadType":"str","x":500,"y":90,"wires":[["d6b41c854dd28107"]]},{"id":"b40effdeb2e9a496","type":"inject","z":"edbfabe1c95de39e","d":true,"name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"168","payloadType":"str","x":500,"y":120,"wires":[["d6b41c854dd28107"]]},{"id":"5b9388c4f42b6719","type":"inject","z":"edbfabe1c95de39e","d":true,"name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"65","payloadType":"str","x":500,"y":30,"wires":[["d6b41c854dd28107"]]},{"id":"9b8e64ce537994b7","type":"delay","z":"edbfabe1c95de39e","name":"","pauseType":"delay","timeout":"300","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1615,"y":30,"wires":[["84e784c5b078a7d7"]]},{"id":"d1c6fb8cfb405a92","type":"delay","z":"edbfabe1c95de39e","name":"","pauseType":"delay","timeout":"300","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1615,"y":75,"wires":[["a5ac1d4eb7dbd911"]]},{"id":"219df86bb813180a","type":"delay","z":"edbfabe1c95de39e","name":"","pauseType":"delay","timeout":"300","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1615,"y":135,"wires":[["5b579bbc19bc44d5"]]},{"id":"ad9b922701857f7d","type":"delay","z":"edbfabe1c95de39e","name":"","pauseType":"delay","timeout":"300","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1615,"y":240,"wires":[["982718f3bcf88616"]]},{"id":"614ac7bfe29ea16a","type":"delay","z":"edbfabe1c95de39e","name":"","pauseType":"delay","timeout":"300","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1615,"y":285,"wires":[["b09562d93e0157fe"]]},{"id":"e6dcfb8ea25b1e24","type":"server-state-changed","z":"edbfabe1c95de39e","name":"Zwift cadance <=40","server":"480f0ad4.89a784","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.zwift_cadence_4431663","entityidfiltertype":"exact","outputinitially":true,"state_type":"num","haltifstate":"40","halt_if_type":"num","halt_if_compare":"lte","outputs":2,"output_only_on_state_change":true,"for":"60","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":90,"y":420,"wires":[["49e2421c8c2c27d4"],[]]},{"id":"49e2421c8c2c27d4","type":"api-current-state","z":"edbfabe1c95de39e","name":"Zwift speed <= 10","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"10.0","halt_if_type":"num","halt_if_compare":"lte","entity_id":"sensor.zwift_speed_4431663","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":300,"y":420,"wires":[["7796c675d9160253"],[]]},{"id":"a7741dbf5bc3514c","type":"function","z":"edbfabe1c95de39e","name":"Set text to number","func":"msg.payload = Number(msg.payload);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1080,"y":420,"wires":[["809971767d09657c","f0db4f9bbe3f102b","c8da7738c333eccd","0aab647246bf633d"]]},{"id":"c8da7738c333eccd","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - hoog - Off","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_high"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1405,"y":435,"wires":[[]]},{"id":"f0db4f9bbe3f102b","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - middel - Off","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_middel"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1405,"y":390,"wires":[[]]},{"id":"809971767d09657c","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift fan - laag - Off","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.fan_zwift_low"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1395,"y":345,"wires":[[]]},{"id":"6e4ecba18eb82bd7","type":"api-call-service","z":"edbfabe1c95de39e","name":"Zwift verlichting groep (Off)","server":"480f0ad4.89a784","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.zwift_verlichting_groep"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"first","x":1575,"y":480,"wires":[[]]},{"id":"7796c675d9160253","type":"api-current-state","z":"edbfabe1c95de39e","name":"Zwift power <= 10","server":"480f0ad4.89a784","version":3,"outputs":2,"halt_if":"10","halt_if_type":"num","halt_if_compare":"lte","entity_id":"sensor.zwift_power_4431663","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":510,"y":420,"wires":[["a7741dbf5bc3514c"],[]]},{"id":"bd02c70091a1cf75","type":"comment","z":"edbfabe1c95de39e","name":"Zwift -> 60 sec. klaar met fietsen","info":"","x":130,"y":375,"wires":[]},{"id":"0aab647246bf633d","type":"delay","z":"edbfabe1c95de39e","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1365,"y":480,"wires":[["6e4ecba18eb82bd7"]]},{"id":"480f0ad4.89a784","type":"server","name":"Home Assistant","version":4,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m"}]

I been trying to use this integration, but i can´t check configuration in order to be able to restart… Any help ?

  - platform: zwift
    username: email
    password: password
    players:
         - my id

You only need username and password. The rest is not necessary.

1 Like

It´s working now, was a stupid mistake i made :stuck_out_tongue:

Thanks, finally i will be able to automate all my zwift setup…

My zwift integration stopped working 3 days ago, anyone noticed the same ?