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) // MK8900DateTime 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))«», . «». . , .
!