Dziś rozpocząłem prace nad podpięciem rekuperatora do OH. Chciałem się zapytać czy ktoś może już coś takiego robił i może się podzielić jakąś wiedzą?
Podpięcie wygląda tak że w malinę mam wpięty konwerter USB-RS485 i 2 przewodami wpięty jestem w gniazdo 10 rekuperatora piny 1 i 2. Konfiguracje wykonuje w plikach i na chwilę obecną jest jeszcze biednie ale z czasem chce to bardziej rozbudować:
Temat tych urządzeń dla HomeAssistanta jest dość okiełznany ale nigdzie nic nie widzę dla OpenHaba
Po rekuperatorze myślę powalczyć o falownik od PV też po modbusie w OH
Trochę poprawiłem i wzbogaciłem stronę na sitemapie do takiego stanu
Ale jest kilka problemów do rozwiązania i potrzebuje pomocy:
1. W sitemapie chciałbym zrobić aby przycisk "Prędkość MANUAL" wyświetlał się tylko przy aktywnej opcji MANUAL a znikał w pozycji AUTO i aby w pozycji AUTO pojawiał się przełącznik LATO/ZIMA a nie wyświetlał się w pozycji MANUAL na samym dole wycinek sitemapy
2. Nie potrawie ogarnąć tego od strony "Semantic Model" ponieważ w sitemapie prosto się mapuje różne rzeczy tutaj jest trudniej i chciałbym to zrozumieć jak powinno się to robić a chciałbym uzyskać takie same przyciski jako opcje wyboru jak np. ON/OFF , LATO/ZIMA, abym mógł to mieć w karcie urządzenia poniżej wycinek jak ona obecnie wygląda:
3. Zauważyłem że w "Sementic Model" zawsze wszystko ustawiane jest alfabetycznie po nazwie z komórki nazwa Itemu - label i pytanie czy można mieć nad tym inną kontrole aby ustawić sobie wszystko jak się chce a nie alfabetycznie?
SITEMAP
Group item=RekuOnOff label="AirPack4 400V" icon="airpack4v" valuecolor=[1="green", 0="#777777"] {
Frame label="Stany" {
Switch item=RekuOnOff label="Stan[]" mappings=[0="OFF", 1="ON"]
Switch item=RekuMode label="Wybór trybu[]" mappings=[0="Auto", 1="Manual"]
Setpoint item=RekuFlowRateManual minValue=10 maxValue=100 step=10
Switch item=RekuSpecialMode label="Funkcja[]" mappings=[0="OFF", 7="Wietrzenie", 10="Otwarte okna", 11="Pusty dom"]
Switch item=RekuSeasonMode label="Pora roku[]" mappings=[0="Lato", 1="Zima"]
}
Frame label="Parametry" {
Default item=RekuTempCzerpnia
Default item=RekuTempzaFPX
Default item=RekuTempNawiew
Default item=RekuStrumienNawiew
Default item=RekuProcentNawiew
Default item=RekuTempWywiew
Default item=RekuStrumienWywiew
Default item=RekuProcentWywiew
Default item=RekuTempOtoczenia
//Switch item=RekuBypass label="Bypass[]" mappings=[0="AKTYWNY", 1="NIEAKTYWNY"]
//Setpoint item=RekuBypassActivateTemp minValue=10 maxValue=40 step=1
Default item=RekuBypassStatus valuecolor=[0="#003e80", 1="#c0c0c0"]
}
}
ITEMS
Group gReku "Rekuperator" <airpack4v> (gGarage) ["Equipment"]
//Włączenie-Wyłaczenie
Number RekuOnOff "Stan [MAP(rekuonoff.map):%s]" <airpack4v> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4387:RekuOnOff:number" }
//Tryby pracy
Number RekuMode "Wybór trybu [MAP(rekumode.map):%s]" <airpack4v> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4208_4210:RekuMode:number" }
Number RekuSeasonMode "Pora roku [%s]" <season> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4208_4210:RekuSeasonMode:number" }
Number RekuSpecialMode "Funkcja [%s]" <fan> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4224:RekuSpecialMode:number" }
//Ustawienie prędkości
Number RekuFlowRateManual "Prędkość MANUAL [%.0f %%]" <fan> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4208_4210:RekuFlowRateManual:number", widget="oh-stepper-card" [min="10",max="100",step="10"], listWidget="oh-stepper-item" [min="10",max="100",step="10"] }
Number RekuStatusCF "Status CF [MAP(rekuCF.map):%s]" <fan> (gReku) ["Status", "None"] { channel="modbus:data:thesslagreen:AirPack4_271_273:RekuStatusCF:number" }
Number RekuProcentNawiew "Nawiew prędkość [%.0f %%]" <fan> (gReku) ["Status", "None"] { channel="modbus:data:thesslagreen:AirPack4_271_273:RekuProcentNawiew:number" }
Number RekuProcentWywiew "Wywiew prędkość [%.0f %%]" <fan> (gReku) ["Status", "None"] { channel="modbus:data:thesslagreen:AirPack4_271_273:RekuProcentWywiew:number" }
//Parametry
Number:Temperature RekuTempCzerpnia "Czerpnia [%.1f °C]" <temperature> (gReku) ["Measurement", "None"] { channel="modbus:data:thesslagreen:AirPack4_16_22:RekuTempCzerpnia:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }
Number:Temperature RekuTempNawiew "Nawiew [%.1f °C]" <temperature> (gReku) ["Measurement", "None"] { channel="modbus:data:thesslagreen:AirPack4_16_22:RekuTempNawiew:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }
Number:Temperature RekuTempWywiew "Wywiew [%.1f °C]" <temperature> (gReku) ["Measurement", "None"] { channel="modbus:data:thesslagreen:AirPack4_16_22:RekuTempWywiew:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }
Number:Temperature RekuTempzaFPX "Temperatura za FPX [%.1f °C]" <temperature> (gReku) ["Measurement", "None"] { channel="modbus:data:thesslagreen:AirPack4_16_22:RekuTempZaFPX:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }
Number:Temperature RekuTempOtoczenia "Temperatura otoczenia [%.1f °C]" <temperature> (gReku) ["Measurement", "Temperature"] { channel="modbus:data:thesslagreen:AirPack4_16_22:RekuTempOtoczenia:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }
Number RekuStrumienNawiew "Nawiew strumień [%.1f m3/h]" <fan> (gReku) ["Status", "None"] { channel="modbus:data:thesslagreen:AirPack4_256_257:RekuStrumienNawiew:number" }
Number RekuStrumienWywiew "Wywiew strumień [%.1f m3/h]" <fan> (gReku) ["Status", "None"] { channel="modbus:data:thesslagreen:AirPack4_256_257:RekuStrumienWywiew:number" }
Number RekuBypass "Bypass [MAP(rekubypassonoff.map):%s]" <airpack4v> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4320_4330:RekuBypass:switch" }
//Number RekuBypassActivateTemp "Bypass temperatura aktywacji [%.0f °C]" <fan> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4320_4330:RekuBypassActivateTemp:number", widget="oh-stepper-card" [min="10",max="40",step="1"], listWidget="oh-stepper-item" [min="10",max="40",step="1"] }
Number RekuBypassStatus "Bypass status[MAP(rekubypass.map):%s]" <airpack4v> (gReku) ["Status", "None"] { channel="modbus:data:thesslagreen:AirPack4_4320_4330:RekuBypassStatus:number" }
Widzę że ciężko nikt nic nie wrzuci aby człowieka naprowadzić ale udało mi się 2 z 3 punktów rozwiązać
1. Pojawianie się tego co chce wtedy gdy chce w sitemapie - ogarnąłem
2. Ten punkt jeszcze nie ogarnięty ponieważ niby zrobiłem transformacje ale OH gdzieś raz czyta poprawnie w jednym miejscu w drugim nie. Stworzyłem do przycisków widgeta który ma sterować itemem "Number" i wysyłać informacje w postaci 0,7,10,11. I 7,10,11 działa ok ale w przypadku wybrania przycisku z 0 openhab wyrzuca błąd w logach i nie wysyła tej wartości. Pod sitemapą jest ok w modelu już nie.
3. Ustawianie kolejności innej niż alfabetyczna - można to zrobić z poziomu modelu przez dodanie widget order i podania liczby porządkowej można roić liczby z wartościami np 1.1; 1.2;2;2.6;8
lub wygodniej jak ktoś robi tylko na plikach przed dodanie tego w danym itemie:
Number RekuOnOff "Stan [MAP(rekuonoff.map):%s]" <airpack4v> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4387:RekuOnOff:number", widgetOrder="1" }
//Tryby pracy
Number RekuMode "Wybór trybu [MAP(rekumode.map):%s]" <airpack4v> (gReku) ["Control", "None"] { channel="modbus:data:thesslagreen:AirPack4_4208_4210:RekuMode:number", widgetOrder="2" }
Cześć. Ogarnąłeś już może komunikację z falownikiem?
Sam właśnie startuję z tym, że ja działam od dłuższego czasu na OH4 już bez konfiga w plikach, ani bez basicUI. Trochę się natrudziłem z migracją ale warto było.






