Für die technisch Interessierten hier ein paar Daten die ich aus dem Shelly
plus H&T Generation 2 ermittelt habe:
Stromverbrauch im Batteriebetrieb:
0,33 mA im Sleep Modus (eine gute AA Batterie hat etwa 3000 mAh)
63 mA im Wachmodus und im Setup Modus
Im Batteriemodus wacht der Shelly plus H&T auf wenn entweder bei der Temperatur
oder bei der Feuchtigkeit der eingestellte Data threshold überschritten wird.
Stromverbrauch im USB Modus (mit externem Netzteil):
2,95 mA im Sleep Modus
88 mA im Wachmodus und im Setup Modus
1,4 uA Strom aus den Batterien.
Sobald der H&T Strom über USB erhält sinkt der Strom aus den Batterien auf 1,4 uA.
Damit können die Batterien auch bei USB Betrieb im Gerät bleiben. Der Vorteil
durch die Batterien: Der H&T wird schwerer und wird nicht mehr so leicht durch
das USB Anschlusskabel von seinem Platz gezogen oder kippt um.
Im USB Modus wacht der H&T nach jeweils ca. 5 Minuten auf egal ob der jeweilige
Data threshold für Temperatur oder Feuchtigkeit erreicht wird.
Die Wachzeit beträgt jeweils etwas mehr als 10 Sekunden. In dieser fragt er
Temperatur und Feuchtigkeit vom Sensor SHT30 ab und sendet diese mit getrennten
Nachrichten an externe Webserver (wenn konfiguriert). Danach schläft er wieder.
Im Sleep Modus ist das WLAN aus und der H&T über das Netzwerk unerreichbar!
Im Setup Modus ist der H&T durchgehend wach und somit auch über das Netzwerk
erreichbar. Allerdings wechselt er nach 3 Minuten automatisch wieder in den normal
Modus zurück. Dies egal ob noch eine http:// Verbindung gibt oder nicht.
Dass es für Temperatur und Feuchte getrennte Nachrichten gibt ist meines Erachtens
extrem unglücklich gelöst. Leider kann man diese auch nicht einfach zusammenfassen.
Etwa indem man eine Temperatur Action wie folgt erzeugt und dort folgende http:
Nachricht ausgibt:
http://pc-win:12345/$temperature+$humidity
In dem Fall wird für das "$humidity" Token "null" ausgegeben.
Als workaround ist es aber möglich die Feuchtigkeit solange der H&T wach ist mit
einem zusätzlichen http: Request abzufragen:
z.B mit Curl:
curl "http://shellyplusht-xxxxxxxxxxxx/rpc/Humidity.GetStatus?id=0"
oder Powershell:
$Status = Invoke-WebRequest -TimeoutSec 2 -Uri "https://shelly-forum.com xxxxxxxxxx/rpc/Humidity.GetStatus?id=0"
$JsonStatus = ConvertFrom-Json $Status.Content
$Feuchtigkeit = ([string]$JsonStatus.rh).replace(',','.')
/Willi/