Licznik Orno OR-WE-...
 
Powiadomienia
Wyczyść wszystko

Licznik Orno OR-WE-514 modbus rs485

28 Wpisów
6 Użytkownicy
1 Likes
5,028 Wyświetleń
(@sliver001)
Wpisów: 9
Bywalec
 
Dodane przez: @kamikac

PortInUseException

Czyli albo coś korzysta z portu, albo openHAB  jakiegoś powodu nie może go otworzyć.

Czytałeś ten artykuł?

Jaki jest wynik poniższego polecenia w konsoli?

lsof /dev/ttyUSB1

nic

obraz
 
Dodane : 26/09/2022 10:20 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@sliver001 Wygląda, że lsof nie jest zainstalowany, czyli jeśli to Debian, to:

sudo apt-get install lsof

Na pewno nie zaszkodzi zastosować się do porad z artykułu.

 
Dodane : 26/09/2022 10:24 pm
(@sliver001)
Wpisów: 9
Bywalec
 
Dodane przez: @kamikac

@sliver001 Wygląda, że lsof nie jest zainstalowany, czyli jeśli to Debian, to:

sudo apt-get install lsof

Na pewno nie zaszkodzi zastosować się do porad z artykułu.

Tak, już zainstalowałem ale nic nie zwraca.

obraz

Spróbuję jeszcze z tymi aliasami z artykułu ale dziwi mnie, że kod z Pythona nie ma problemu z odczytaniem danych z licznika.

 
Dodane : 26/09/2022 10:32 pm
(@kamikac)
Wpisów: 226
Pomocny
 

@sliver001 z wyniku lsof wnioskuję, że port jest wolny.

Python może ma domyślnie uprawnienia do portu, a OpenHAB jest w javie i potrzebuje odpowiednich uprawnień, których domyślnie nie ma. Ja akurat z seriala nie korzystam w OpenHABie, więc nie znam gotowego rozwiązania.

 
Dodane : 26/09/2022 10:39 pm
(@sliver001)
Wpisów: 9
Bywalec
 
Dodane przez: @sliver001

 

Bridge modbus:serial:localSerial [port="/dev/ttyUSB1", id=1, baud=9600, stopBits="1", parity="none", dataBits=8, encoding="rtu"] 
{
         Bridge poller Faza1   [ start=512, length=1, refresh=10000, type="holding" ]
{
            Thing data Faza1    [readStart="512",readValueType="uint16",readTransform="JS(divide100.js)"]
}
         Bridge poller Faza2   [ start=512, length=2, refresh=10000, type="holding" ]
{
            Thing data Faza2    [readStart="513",readValueType="uint32",readTransform="JS(divide100.js)"]
}
         Bridge poller Faza3   [ start=512, length=4, refresh=10000, type="holding" ]
{ 
           Thing data Faza3    [readStart="514",readValueType="uint32",readTransform="JS(divide100.js)"]
}
}

 Jaką wpisać wartość dla lenght i readValueType? Czy poprawnie zmieniam wartość HEX np. 0x200 na 512?

Producent dał taką dokumentację do modbus: https://vcx.com.pl/wp-content/uploads/2022/02/DTS1946-4P-INSTRUKCJA-KOMUNIKACJI.doc

Hej. Brakowało mi w Openhabie jednej biblioteki. Teraz już czyta zadane adresy z powyższego przykładu. Mogę już odczytywać rejestry podane w dokumentacji licznika po zmianie z hex na dec typu 0x200 -> 512. Mam tylko problem z odczytem np. zużycia w kWh. Producent podaje taki adres jak poniżej - jak to wpisać do .things?

Przechwytywanie
 
Dodane : 04/10/2022 2:02 pm
(@kamikac)
Wpisów: 226
Pomocny
 

Możesz napisać jakiej biblioteki brakowało, dla innych, którzy mogą mieć w przyszłości podobny problem?

Tu masz przelicznik DEC<->HEX: https://www.rapidtables.com/convert/number/hex-to-decimal.html

Bridge poller Energy   [ start=52, length=4, refresh=10000, type="holding" ] {
     Thing data PosActivePower [ readStart="52", readValueType="float32" ]
     Thing data RevActivePower [ readStart="54", readValueType="float32" ]
     }
 
Dodane : 05/10/2022 1:24 pm
(@sliver001)
Wpisów: 9
Bywalec
 

@kamikac Brakowało org.apache.commons.pool2

Po przeliczeniu wartości na DEC OpenHab odczytuje poprawne dane z licznika - dziękuję za pomoc.

Mam jeszcze jedno pytanie - czy macie jakąś prostą regułę, która była by wstanie obliczyć zużycie energii za ostatnią dobę albo godzinę? 

Musiała by codziennie o północy odczytać aktualne zużycie w kWh, odjąć wartość z dnia poprzedniego i podać wynik.

rule "Energy by Day"
when
        Time cron "0 0 0 * * ?"
then
???
end

 

 
Dodane : 06/10/2022 8:05 am
(@kamikac)
Wpisów: 226
Pomocny
 

@sliver001 To się da zrobić przez persistence i funkcję deltaSince

https://www.openhab.org/docs/configuration/persistence.html

 
Dodane : 06/10/2022 3:36 pm
Strona 2 / 2
Udostępnij: