Lowest power consumption possible

Hi all, @rwilko it's not possible, to reach the lowest consumption you have to turn off the module but it's no longer a sleep mode, the lowest consumption possible that could be reached is around 30mA, that correspond to switch in idle state the gsm module in this case the only drawback is that you have to reconect to the GMS , as i have do in the following sketch(without the rtczero example):

#include <MKRGSM.h>
#include <MQTTClient.h>

const char pin[] = "yourPin";
const char apn[] = "yourAPN";
const char login[] = "yourUsr";
const char password[] = "yourPAss";
int i = 0;
GSMClient net;
GPRS gprs;
GSM gsmAccess(true);
MQTTClient client;

unsigned long lastMillis = 0;

void setup() {
 connect();

}

void connect() {
 // connection state
 boolean connected = false;
 // After starting the modem with gsmAccess.begin()
 // attach to the GPRS network with the APN, login and password
 while (!connected) {
   if ((gsmAccess.begin(pin) == GSM_READY) &&
       (gprs.attachGPRS(apn, login, password) == GPRS_READY)) {
     connected = true;
   } else {
     delay(1000);
   }
 }
 client.begin("yourMQTTbroker", 14317, net);
 client.onMessage(messageReceived);
 while (!client.connect("YourMQTTid", "yourMQTTuser", "yourMQTTpass")) {
   delay(100);
 }
 client.subscribe("MKR1400/COMMAND/#");
}

void loop() {

 if (millis() - lastMillis > 10000) {
   connect();

   client.loop();
   // publish a message roughly every second.

   lastMillis = millis();
   i++;
   String s = "{Position: position test:" + String(i) + " }";
   client.publish("MKR1400/POSITION/", s);
   Serial.print(i);
   client.disconnect();
   gsmAccess.shutdown();
 }
}

void messageReceived(String &topic, String &payload) {
 Serial.println("incoming: " + topic + " - " + payload);
}