Arbeit der „Master Kit“ -Module im OpenHAB-Hausautomationssteuerungssystem. Teil 3: Echtzeituhr

OpenHAB ( ).
, : e , OpenHAB ?



(RTC) MK8900 USB-. USB- , - .

USB- Serial Binding OpenHAB. , (GPIO), . COM-.

, :

— ;
— , , ;


, C:\OpenHab\addons org.openhab.binding.serial-1.7.1.jar, , ( ). Windows , . COM5. , Silicon Labs CP210x USB to UART .

.sitemap , .cfg . testdrive.items testdrive.rules

:



« »,



«»

:
.items , :

Group RTC (All) // MK8900

DateTime Date_RTC «: [%1$tA, %1$td.%1$tm.%1$tY]» (RTC)
DateTime Time_RTC «: [%tR]» (RTC)
Number MK8900_T « : [ %.1f °C]» (RTC)
Switch Get_Time « » (RTC)
String Serial_string «/ : [%s]» (RTC) { serial=«COM5» }

: «: [%1$tA, %1$td.%1$tm.%1$tY]» : , ... : «: [%tR]» . , , - « : [%tT]». R [%tR], «» – , «R» . , MK8900 .
, Serial_string
{ serial=”COM5” }. , , USB . . , . () (Rules)

– . !GetA

rule «Get_Time ON»
when
Item Get_Time received command
then
if(receivedCommand==ON) Serial_string.sendCommand("!GetA\r")
end

«», Switch Get_Time : !14:5608.10.15+2718 , , , (18), .
, :

rule «MK8900 sends to Openhab»
when
Item Serial_string changed
then
msg = Serial_string.state.toString.trim
var String time_rtc = ""

if (msg.contains(":")) {
time_rtc = «20»+(msg.mid(12,2))+"-"+(msg.mid(9,2))+"-"+(msg.mid(6,2))+«T»+msg.mid(1,5)+":00"
println(«time_rtc ---> » + time_rtc )
postUpdate(Time_RTC, time_rtc)
postUpdate(Date_RTC, time_rtc)
postUpdate(MK8900_T, msg.mid(14,3))
}
end


! msg . var String msg = "" .rules import… rule… .
, :
msg = Serial_string.state.toString.trim Serial_string . if (msg.contains(":")) ( , ) , , .
msg = !14:5608.10.15+2718 , DateTime : 2015-10-08T16:41:00. OpenHAB .



, !14:5608.10.15+2718 2015-10-08T16:41:00, . , , : var String time_rtc = "". :

time_rtc = «20»+(msg.mid(12,2))+"-"+(msg.mid(9,2))+"-"+(msg.mid(6,2))+«T»+msg.mid(1,5)+":00"

: «2015» 20, , , 20 . (msg.mid(12,2)), 12- 2 . , «!». 15 2015. «» 2 , 9- ( ), , 2 .. .
, : println(«time_rtc ---> » + time_rtc) , . --->?



:

postUpdate(Time_RTC, time_rtc)
postUpdate(Date_RTC, time_rtc)
postUpdate(MK8900_T, msg.mid(14,3))


«», . «». . , .
!

Source: https://habr.com/ru/post/de385053/


All Articles