send a command over to the other player so they can also see the current state of the light

I have code to turn on and off the lights but it does not sync with the other player so the state does not update plz help thx

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class OnOff: NetworkBehaviour
{

	float dimFactor = 0.5f;
	// Use this for initialization
	void Start ()
	{

	}

	// Update is called once per frame
	void Update ()
	{
		if (isLocalPlayer) {
			if (Input.GetButton ("Fire1")) {
				CmdChangeLightIntensity (0f);
			}
			if (Input.GetButton ("Fire2")) {
				CmdChangeLightIntensity (60f);
			}
		}
	}

	[Command]
	void CmdChangeLightIntensity (float intensity)
	{
		GetComponentInChildren < Light > ().range = intensity;
		RpcUpdateLightIntensity (intensity);
	}

	[ClientRpc]
	void RpcUpdateLightIntensity (float intensity)
	{
		if (isLocalPlayer) {
			GetComponentInChildren < Light > ().range = intensity;
		} else {
			GetComponentInChildren < Light > ().range = intensity * dimFactor;
		}
	}
}

It Still does not work!
the light still is not communicated