Sprypt modyfikujący...
 
Powiadomienia
Wyczyść wszystko

openHAB Sprypt modyfikujący odczyt danych - zlecę

4 Wpisów
2 Użytkownicy
2 Reactions
469 Wyświetleń
Tom01
(@tom01)
Wpisów: 18
Praktykant
Autor tematu
 

Sprawa jest następująca. Odczytuję temperaturę z urządzenia Modbus. Dopóki temperatury są dodatnie, urządzenie wystawia wartość liczbową przy czym pomnożoną x10, aby przekazać po przecinku. Czyli np 105 oznacza 10,5stC. Dzielę sobie w oknie ze zrzutu w pozycji Scale /10 i jest super. Natomiast kiedy temperatury są ujemne, urządzenie Modbus wystawia liczbę powiększoną o 65535, czyli np -2 jest pokazana jako 65533. Taki skrypt to sprawa banalna, jeden warunek if, else i tyle. Natomiast za chorobę nie mam pojęcia jak to zaaplikować w interfejsie Channel OpenHaba. Zlecę odpłatnie łopatologiczne opracowanie instrukcji co i gdzie mam wpisać, aby działało tak jak ma działać.

Zrzut 2023 02 04 16 41 17
 
Dodane : 04/02/2023 4:50 pm
Tom01
(@tom01)
Wpisów: 18
Praktykant
Autor tematu
 

PS. Jest możliwość potraktowania zmiennej skryptem JS, ale JAK? Grzebię w tym już tyle czasu, że mnie już trafia. Niby interfejs klikany a to na co wskazuje po prostu nigdzie nie ma. Jeśli ręcznie wstawię w pokazany folder plik ze skryptem, oczywiście nie działa. Pojęcia nie mam jaka jest tu filozofia, bo ja nie widzę żadnej. Jest też osobne menu do skryptów, można sobie coś stworzyć z klocuszków, ale oczywiście też nie działa. Nie można pobrać zmiennych, nie można ich zapisać. Kurde, poległem. 

Zrzut 2023 02 04 16 57 53

 

 
Dodane : 04/02/2023 5:01 pm
Tom01
(@tom01)
Wpisów: 18
Praktykant
Autor tematu
 

Dobra, nieaktualne. Znalazłem jak się pisze reguły. Działa. 🙂

 
Dodane : 04/02/2023 7:01 pm
(@kamikac)
Wpisów: 226
Pomocny
 

A przypadkiem nie wystarczyło zmienić w konfiguracji MODBUSa

readValueType=uint16

na

readValueType=int16

 , bo te 65535 to jest znak "-" ?

 
Dodane : 09/02/2023 2:03 pm
ldywicki and adrian reacted
Udostępnij: