Добавеното Це-Ка ключе в такъв случай влизаше в назначената си роля. Прекъсвах веригата. Изчаквах ден, за да зареди и го включвах отново. И така до следващия път. Проблемът е, че не получавах предизвестие за такъв развой. И едва след като забележа, че няма промяна с часове в показанията на метеостанция, разбирах, че само описаната процедура връща Tasmota към живот.
Няколко реда добавен код ми даваха точен отговор - жива ли е станцията или пак е обезточена. Резултат:
Влизане през поле "Осветеност" и попадане в състояние online.
След изтичане на времето от 12сек зададено в teleperiod, Tasmota излъчва сигнал offline и изпада в летаргия за цели 10мин зададено в DeepSleep.
Тази промяна с лекота се проследява в openHAB, а той на свой ред ще извежда часа и датата на последното ръкостискане. Съгласете се, че нещата стават прозрачни. Не се налага запомняне на показания, а само едно сверяване на времето.
При стартиране Tasmota публикува в конзолата си поредица от съобщения. Първото е при успех към подключване към Wi-Fi мрежата. Следва вдигнат WEB-сървър, а веднага след това рапортува успех при подключване към MQTT-брокер, като публикува състояние в топик LWT.
Топикът изпраща съобщение "Online". При restart или deepsleep, топикът ще публикува съобщение "Offline". Чудесно! Остава да го се закачим към него и да го изведем в openHAB.
За целта в Things добавяме следните две същности:
Type switch : Reachable "Online"[ stateTopic="tele/solar/LWT", on="Online", off="Offline" ] //Type switch : Reachable "Online" [stateTopic="tele/solar/LWT",transformationPattern="MAP:reachable.map"] Type number : RSSI "RSSI" [ stateTopic="tele/solar/STATE",transformationPattern="JSONPATH:$.Wifi.RSSI" ]Ако ви допада варианта в коментирания ред следва нужда от карта на трансформацията.
//... ГРАДИНА - reachable.map ...// Online=ON Offline=OFFВ Items дописваме следното:
// Градина последно ръкостискане Switch Garden_reachable "online" {channel="mqtt:topic:yard:Reachable"} DateTime Garden_last_online "last seen [%1$td.%1$tm.%1$tY %1$tH:%1$tM:%1$tS]" Number Garden_rssi "rssi [%1.0f%%]" {channel="mqtt:topic:yard:RSSI"}RSSI добавих, защото ми бе любопитно как се държи сигнала при разстояние от 15м. Притежавам ESP-та с керамична антена и често пропадат от мрежата.
Финал на замисъла е правило, което ще следи промяната и съответно ще я публикува.
//... lwt.rules ...// rule "last handshake time" when Item Garden_reachable changed from OFF to ON then postUpdate(Garden_last_online, new DateTimeType()) end

до нови срещи ^.^
0 Response to "Tasmota DeepSleep - Last Seen"
Публикуване на коментар