A method comprising: dividing a time period into a plurality of frames; subdividing each of the plurality of frames into a plurality of slots (300 - 315), the plurality of slots providing time segments for data communication between nodes in a mesh network, the plurality of slots including at least one global slot for broadcast or multicast data communications between nodes in the mesh network and a plurality of dynamically assignable slots, the data communication in any of the plurality of slots by a first node being performed using a same single radio transceiver of the first node, the single radio transceiver of the first node being deactivated when the first node is not communicating on the mesh network; enabling the first node to dynamically assign itself one or more slots of the plurality of dynamically assignable slots for data communication, the first node using the one or more slots to receive unicast data communications destined for the first node;and communicating in the global slot to other nodes of the mesh network information indicative of the first node's dynamic assignment of the one or more slots, the first node communicating in the global slot using the same single radio transceiver of the first node wherein the first node adapts to current or anticipated network conditions by detecting the current or anticipated network conditions by monitoring the number of slots assigned to the first node that are unused over a monitored period of time or over a monitored number of frames and, if the first node has not received any data communication from other nodes of the mesh network over the monitored period of time or the monitored number of frames, changing a slot assignment back to an unassigned status to decrease its number of assigned slots and, if the quantity of incoming local data over the monitored period of time or the monitored number of frames exceeds a pre-determined threshold, assigning one or more additional one of the assignable slots to itself and advertising the new slot assignment/s to the other nodes of the mesh network. dividing a time period into a plurality of frames; subdividing each of the plurality of frames into a plurality of slots (300 - 315), the plurality of slots providing time segments for data communication between nodes in a mesh network, the plurality of slots including at least one global slot for broadcast or multicast data communications between nodes in the mesh network and a plurality of dynamically assignable slots, the data communication in any of the plurality of slots by a first node being performed using a same single radio transceiver of the first node, the single radio transceiver of the first node being deactivated when the first node is not communicating on the mesh network; enabling the first node to dynamically assign itself one or more slots of the plurality of dynamically assignable slots for data communication, the first node using the one or more slots to receive unicast data communications destined for the first node;and communicating in the global slot to other nodes of the mesh network information indicative of the first node's dynamic assignment of the one or more slots, the first node communicating in the global slot using the same single radio transceiver of the first node wherein the first node adapts to current or anticipated network conditions by detecting the current or anticipated network conditions by monitoring the number of slots assigned to the first node that are unused over a monitored period of time or over a monitored number of frames and, if the first node has not received any data communication from other nodes of the mesh network over the monitored period of time or the monitored number of frames, changing a slot assignment back to an unassigned status to decrease its number of assigned slots and, if the quantity of incoming local data over the monitored period of time or the monitored number of frames exceeds a pre-determined threshold, assigning one or more additional one of the assignable slots to itself and advertising the new slot assignment/s to the other nodes of the mesh network.