לאחר התכתבות עם חבר פורום אחר שבה דיברנו על איך לעשות דברים מסויימים ב- OH3 חשבתי שכדאי להעלות את הכל על שרשור פתוח כדי שעוד אנשים יוכלו לשתף, לתרום ולהיתרם.
חלק מהתובנות שלי כבר פרסמתי באחד השרשורים כאן בפורום:
https://htmag.co.il/phpbb/viewtopic.php ... &start=735
המטרה כאן היא לתת נקודות ספציפיות. אז אני אתחיל עם כמה דברים שאני למדתי, מוזמנים להוסיף או להגיב.
1. התמודדות עם זמנים בחוקים:
ב- OH3 שינו את הספרייה של ה- DateTime. פוסט מעולה להמרות בין הסוגים השונים והשימושים השונים:
https://community.openhab.org/t/datetim ... 3-x/107197
2. עבודה עם ה- Pages החדשים:
יש הרבה שאפשר להגדיר בממשק החדש כולל אפשרות לייצר widgets אישיים. זה כבר דורש קידוד ה- YAML שזה הדבר השנוא עלי, אבל עוד לפני אפשר לעשות לא מעט גם בלי. דוגמא לדברים שניתן לעשות פרמסתי בפורום של OH:
https://community.openhab.org/t/my-oh3- ... ets/119120
3. המודל הסמנטי:
לאחר הרבה התקנות מחודשות תוך התנסויות בהגדרת המערכת התקבעתי על דרך העבודה המועדפת עלי והיא דרך הקבצים.
יצירת המודל הסמנטי עדיין מתאפשרת באמצעות הוספת תגיות.
יש כאן פוסט מעולה שמסביר את זה:
https://community.openhab.org/t/oh3-sem ... les/112520
דוגמא לקובץ model.items שיצרתי שבו הגדרתי את שתי הרמות הראשונות של המודל שלי (שם הקובץ לא מחייב):
קוד: בחירת הכל
//*** Locations ***//
Group gBalcony "Balcony" <mybalcony> ["Veranda"]
Group gBalconyBlinds "Balcony Blinds" <rollershutter> (gBalcony) ["Blinds"]
Group gBalconyBlindsStatus "Balcony Blinds Status" <rollershutter> (gBalcony) ["Equipment"]
Group gBalconyBlindsScenes "Balcony Blinds Scenes" <rollershutter> (gBalcony) ["Equipment"]
Group gBathRoom "Bath Room" <bath> ["Bathroom"]
Group gDude "Dude" <boiler> (gBathRoom) ["Boiler"]
Group gDudeStatus "Dude" <boiler> (gBathRoom) ["Equipment"]
Group gBathRoomHeater "Bath Room Heater" <heater> (gBathRoom) ["Oven"]
Group gBathRoomHeaterStatus "Bath Room Heater Status" <heater> (gBathRoom) ["Equipment"]
Group gParentsShowerHeater "Parents Shower Heater" <heater> (gBathRoom) ["Oven"]
Group gParentsShowerHeaterStatus "Parents Shower Heater Status" <heater> (gBathRoom) ["Equipment"]
Group gEntrance "Entrance" <corridor> ["Corridor"]
Group gEntranceAndCenterLight "Entrance and Center Light" <lightbulb> (gEntrance) ["WallSwitch"]
Group gEntranceAndCenterLightStatus "Entrance and Center Light Status" <lightbulb> (gEntrance) ["Equipment"]
Group gFrontDoorBell "Front Door Bell" <frontdoor> (gEntrance) ["Doorbell"]
Group gFrontDoorSensor "Front Door Sensor" <frontdoor> (gEntrance) ["FrontDoor"]
Group gFrontDoorSensorStatus "Front Door Sensor Status" <frontdoor> (gEntrance) ["Equipment"]
Group gHomeAndAway "Home&Away" <homeaway> (gEntrance) ["Equipment"]
Group gKidsRoom "Kids Room" <kidsroom> ["Room"]
Group gKidsRoomLight "Kids Room Light" <lightbulb> (gKidsRoom) ["WallSwitch"]
Group gKidsRoomLightStatus "Kids Room Light Status" <lightbulb> (gKidsRoom) ["Equipment"]
Group gKidsRoomSpeaker "Kids Room Speaker" <homemini3> (gKidsRoom) ["Speaker"]
Group gKidsRoomSpeakerStatus "Kids Room Speaker Status" <homemini3> (gKidsRoom) ["Equipment"]
Group gKitchen "Kitchen" <kitchen> ["Kitchen"]
Group gBothKitchenLights "Both Kitchen Lights" <ledstrip> (gKitchen)
Group gKitchenSpeaker "Kitchen Speaker" <homemini3> (gKitchen) ["Speaker"]
Group gKitchenSpeakerStatus "Kitchen Speaker Status" <homemini3> (gKitchen) ["Equipment"]
Group gKitchenSwitch "Kitchen Switch" <wallswitch> (gKitchen) ["WallSwitch"]
Group gKitchenSwitchStatus "Kitchen Switch Status" <wallswitch> (gKitchen) ["Equipment"]
Group gKitchenTempSensor "Kitchen Temperature Sensor" <temperature> (gKitchen) ["Sensor"]
Group gKitchenTempSensorStatus "Kitchen Temperature Sensor Status" <temperature> (gKitchen) ["Equipment"]
Group gSinkLights "Sink Lights" <ledstrip> (gKitchen) ["LightStripe"]
Group gSinkLightsStatus "Sink Lights Status" <ledstrip> (gKitchen) ["Equipment"]
Group gTableLights "Table Lights" <ledstrip> (gKitchen) ["LightStripe"]
Group gTableLightsStatus "Table Lights Status" <ledstrip> (gKitchen) ["Equipment"]
Group gKitchenComputer "Kitchen Computer" <computer> (gKitchen) ["Equipment"]
Group gLivingRoom "Living Room" <mylivingroom> ["LivingRoom"]
Group gLivingRoomBlinds "Living Room Blinds" <rollershutter> (gLivingRoom) ["Blinds"]
Group gLivingRoomBlindsStatus "Living Room Blinds Status" <rollershutter> (gLivingRoom) ["Equipment"]
Group gLivingRoomBlindsScenes "Living Room Blinds Scenes" <rollershutter> (gLivingRoom) ["Equipment"]
Group gLivingRoomChromecast "Living Room Chromecast" <chromecast> (gLivingRoom) ["Television"]
Group gLivingRoomChromecastStatus "Living Room Chromecast Status" <chromecast> (gLivingRoom) ["Equipment"]
Group gLivingRoomLight "Living Room Light" <lightbulb> (gLivingRoom) ["WallSwitch"]
Group gLivingRoomLightStatus "Living Room Light Status" <lightbulb> (gLivingRoom) ["Equipment"]
Group gLivingRoomTV "Living Room TV" <screen> (gLivingRoom) ["Television"]
Group gHomePanel "Home Panel" (gLivingRoom) ["Equipment"]
Group gMamad "Mamad" ["Room"]
Group gMamadComputer "Mamad Computer" <computer> (gMamad) ["Equipment"]
Group gNAS "NAS" <computer> (gMamad) ["Equipment"]
Group gMovingObjects "Moving Objects" ["Room"]
Group gMiniSwitch "Mini Switch" (gMovingObjects) ["Equipment"]
Group gHomeButton "Home Button" (gMovingObjects) ["Equipment"]
Group gPresenceDetection "Presence Detection" (gMovingObjects) ["Equipment"]
Group gPlayRoom "Play Room" ["Room"]
Group gPlayRoomLightSwitch "Play Room Light Switch" <lightbulb> (gPlayRoom) ["WallSwitch"]
Group gPlayRoomLightSwitchStatus "Play Room Light Switch Status" <lightbulb> (gPlayRoom) ["Equipment"]
Group gPlayRoomComputer "Play Room Computer" <computer> (gPlayRoom) ["Equipment"]
Group gWorkingSpace "Working Space" ["Office"]
Group gWorkingSpaceLight "Working Space Light" <lightbulb> (gWorkingSpace) ["WallSwitch"]
Group gWorkingSpaceLightStatus "Working Space Light Status" <lightbulb> (gWorkingSpace) ["Equipment"]
//*** Equipments ***//
Group gAstro "Astro" ["WebService"]
Group gLocalMoon "Local Moon" <moon> (gAstro) ["WeatherService"]
Group gLocalSun "Local Sun" <sun> (gAstro) ["WeatherService"]
Group gLocalWeatherAndForecast "Local Weather And Forecast" <sun_clouds> (gAstro) ["WeatherService"]
Group gWeatherWidget "Weather Widget Items" <sun_clouds> (gAstro) ["WeatherService"]
Group gLocalTime "Local Time" (gAstro) ["WebService"]
Group gOWMWidget "Open Weather Map Widget" <sun_clouds> (gAstro) ["WeatherService"]
Group gHomeRoutines "Home Routines and Scenes" ["Equipment"]
Group gDailyReminders "Daily Reminders" (gHomeRoutines) ["Equipment"]
Group gBlindsScenes "Blinds Scenes" (gHomeRoutines)
Group gTODScenes "Time Of Day Scenes" (gHomeRoutines) ["Equipment"]
Group gNewTamirimHab "New Tamirim Hab" ["Equipment"]
Group gTelegramBot "Our Telegram Bot" ["Equipment"]
Group gSpeedTest "Speed Test" <speedtest> ["Equipment"]
Group gTheTamirimCalendar "The Tamirim Calendar" <cal> ["WebService"]
//*** Non Semantic ***//
Group:Switch:OR(ON,OFF) gReminders "Reminders" {stateDescription=""[options="ON=Attention,OFF=No Reminders",readOnly="true"]}
Group:Switch:OR(ON,OFF) gShellyUpdateFW "Shelly Devices FW Update" <update> (gReminders) {stateDescription=""[options="OFF=None,ON=Update Available",readOnly="true"]}
Group:Switch:OR(ON,OFF) gAlarms "Alarms" <status> {stateDescription=""[options="ON=Error,OFF=No Alarms",readOnly="true"]}
Group:Switch:NAND(ON,OFF) gStatus_AlwaysOn "Devices Status Summary" <status> (gAlarms) {stateDescription=""[options="OFF=OK,ON=ERROR",readOnly="true"]}
Switch HBLost "Lost Heart Beat Indication (OFF=OK, ON=ERROR)" <heartbeat> (gAlarms) {stateDescription=""[options="OFF=OK, ON=Heart Beat Lost"],listWidget="oh-label-item"}
Group:Switch:NAND(ON,OFF) gStatus_Other "Devices Status Summary" <status> {stateDescription=""[options="OFF=OK,ON=ERROR",readOnly="true"]}
Group gChartChange "Chart InfluxDB Items- Every Change" <chart>
Group gChartMinute "Chart InfluxDB Items- Every Minute" <chart>
Group gHistory "Chart RRDJ Items" <chart>
Group:Switch:OR(ON,OFF) gLightsPower "Lights Power Items" <lightbulb>
Group:Switch:OR(ON,OFF) gMute_All "Mute All Dvices" <soundvolume_mute>
Group gTestItems "Test Items"
Group gKitchenColor "Kitchen Lights Color Control" <colorwheel>
Group gHBItems "Last Heart Beat Items" <heartbeat>
מאפשר להוסיף כל מיני פריטי מידע והמרות, למשל מיפוי הערכים של switch לערכים מותאמים אישית.
אפשר לבצע דרך ה- UI או דרך הקבצים.
דרך ה- UI:
1. Settings -> Items -> בחירת item לעריכה
2. לחיצה על Add Metadata
3. לחיצה על State Description
4. תחת שדה options יש למלא את המיפוי הרצוי. יש שם הנחיות אבל בגדול -כל ערך בשורה חדשה. רושם את הערך ואת התגית החדשה הרצויה. למשל:
קוד: בחירת הכל
ON=Good Job
OFF=Need Some Improvements
בשורה של ה- item הרלוונטי יש להוסיף תחת שדה ה- metadata שמוקף בסוגריים מסולסלים {} את הערך הבא:
קוד: בחירת הכל
stateDescription=""[options="OFF=Need Some Improvements,ON=Good Job"]
https://community.openhab.org/t/oh3-add ... les/112843
אז יאללה, לשימושכם והוספת כל תובנה מעניינת נוספת!