Hi Everyone,
- Platform information:
runtimeInfo:
version: 3.1.0
buildString: Release Build
locale: tr-TR
systemInfo:
configFolder: /etc/openhab
userdataFolder: /var/lib/openhab
logFolder: /var/log/openhab
javaVersion: 11.0.12
javaVendor: Azul Systems, Inc.
javaVendorVersion: Zulu11.50+19-CA
osName: Linux
osVersion: 5.10.60-sunxi
osArchitecture: arm
availableProcessors: 4
freeMemory: 109504424
totalMemory: 194772992
bindings:
- astro
- icalendar
- icloud
- kodi
- remoteopenhab
- serial
- systeminfo
clientInfo:
device:
ios: false
android: false
androidChrome: false
desktop: true
iphone: false
ipod: false
ipad: false
edge: false
ie: false
firefox: false
macos: false
windows: true
cordova: false
phonegap: false
electron: false
nwjs: false
webView: false
webview: false
standalone: false
os: windows
pixelRatio: 0.75
prefersColorScheme: light
isSecureContext: false
locationbarVisible: true
menubarVisible: true
navigator:
cookieEnabled: true
deviceMemory: N/A
hardwareConcurrency: 4
language: en-US
languages:
- en-US
- en
- tr
onLine: true
platform: Win32
screen:
width: 1366
height: 768
colorDepth: 24
support:
touch: false
pointerEvents: true
observer: true
passiveListener: true
gestures: false
intersectionObserver: true
themeOptions:
dark: dark
filled: true
pageTransitionAnimation: default
bars: light
homeNavbar: simple
homeBackground: standard
expandableCardAnimation: default
userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/93.0.4577.63 Safari/537.36
timestamp: 2021-09-12T04:16:56.915Z
I’m trying to make a system I designed to work with Openhab. My system communicates with Canbus within itself.
Btw, Openhab <> Canbus Gateway command and communication formats do not have to be like this, I can stretch or change them as I want. We do not have 3rd party dependencies on electronics. We do the software, hardware designs (SCH and PCB design) of Canbus Modules ourselves. We also make our own production.
I am converting Canbus <> Uart(9600/115200) via a Gateway and communicating with Openhab via Serial Binding(@String).
It has a hierarchical structure (Module/Device ID(max 31 Module)) and assigned type identifiers for modules.
Basic features and capabilities of system components,
-Gateway Module:
a. CanBus <> UART communication conversion,
b. Firmware update of modules
-Input Module:
There are 2 different models.
VLI-20: There are 20 dry contact inputs.
VLI-35: There are 35 dry contact inputs.
Both modules have 2 different input trigger support in the form of short and long presses.
Short Press: Presses between 100 ms and 1 sec.
Long Press: >1 sec long presses. A threshold point can be set by limiting the max hold time.
The command format for Input Modules is as follows;
"VID_110100101*"
"VID_" :Header
"11" (First 2 digits) :Type Identifier ("10"=VLI-20, "11"=VLI-35)
"01" (Next 2 digits) :Module ID (1st Input Module in this example)
"001"(Next 3 digits) :Input ID (Can be between 1 and 35 for Short press, 41 to 75 for Long press)
"01" (Last 2 digits) :Status (Can be "0" or "1".)
E.g;
a. Short Press:
If a wall key is connected to Input Port 1 and a short press is made; The input module sends a command to the Gateway, and the Gateway to Openhab as a result:
"VID_11010101*"
If the same button is short pressed again, the last digit toggles and the Input Module sends a command to Openhab like this:
"VID_11010100*"
b.Long Press:
If the wall key connected to Gang No. 1 is pressed for a long time, the command sent is:
"VID_11014101*"
If the same button is long pressed again, the last digit toggles and sends a command to Openhab like this:
"VID_11014100*"
i.e. long press command; It is created by adding decimal “40” to the short press command.
Example for another Input port:
Likewise, short press on Gang 7:
"VID_11010701*"
short press again:
"VID_11010700*"
Long press:
"VID_11014701*"
long press again:
"VID_11014700*"
-Output Module:
An actuator module with 10 relays on it.
The command format for Output Modules is as follows;
I use 1 relay as a switch to control ON/OFF equipment such as lamps;
"O1_010901"
"O1_" : Header
"01" (First 2 digits) : Module ID (1st Output Module in this example)
"09" (Next 2 digits) : Relay ID (9th relay of 1st Output Module)
"01" (Last 2 digits) : Command (0=OFF or 1=ON.)
Openhab sends a command to the Gateway, and the Gateway to the 1st Output Module as follows:
If we want to turn ON the 3rd Relay of the 1st Output Module;
"O1_010301"
If we want to turn OFF the 3rd Relay of the 1st Output Module;
"O1_010300"
I use 2 relays for curtains, shutters (UP, DOWN, STOP ), and Thermal Actuators (OPEN, CLOSE), etc. to control equipment.
For Curtains, Shutters (UP, DOWN, STOP ):
I use 1 relay as STOP switch and a second relay as [NormallyOpen=UP] and [NormallyCLose=DOWN) switches;
"O1_020202"
"O1_" : Header
"02" (First 2 digits) : Module ID (1st Output Module in this example)
"02" (Next 2 digits) : Relay ID (1st Relay STOP RELAY, 2nd Relay UP/DOWN )(The firmware in the module automatically sets and runs synchronously)
"02" (Last 2 digits) : Command (2=UP ; 3=DOWN ; 4=STOP.)
For Thermal Actuators etc. (OPEN, CLOSE):
I use 2 relays to cross-transfer Phase and Notr.
“01” (Last 2 digits) :Command (10=OFF or 11=ON.)
-RGB led module:
It has 6 channel outputs and each channel can run alone or synchronized with other channels.
RGB and/or Dimmer Controller
Command Structure
I want to do;
I ran the system on the Openhab<>Gateway side. I ran Output Modules (Lamp, Roller shutter, and Thermo valves) via the web interface or mobile application.
I tried some methods (Map Transform: input_item.map) to use wall keys with Input Module.
This is the issue I want help/suggestion from you. What method would you suggest I use to control it from the outside world with a wall key?
I know Assembly(advanced), Basic(advanced), and C(intermediate). I know old languages Fortran, Pascal, Delphi, Cobol, etc.
I don’t know Java and JavaScript (I have very basic knowledge). I do not know web-oriented (HTML, XML, etc.) languages (I would appreciate if you have Script, etc. language suggestions for Openhab)
I’ve been learning Regex for 3 days.
The following screenshots are generic Things, Channels and their configurations, and items that I created on openhab.
ThingS
serial bridge Thing
Input_1 Thing
Input_1 Channel_1 Config
Input_1 Channels Code
Input_1 Channel_1 Status-On
Input_1 Channel _1 Status-OFF
Ouput_1 Thing
Output_1 Channel_1 Config
Output_1 Channels Code
Ouput_1 Channel_1 Stattus-ON
Ouput_1 Channel_1 Status-OFF
Output Item Status
Output 1 Role 1 Status-ON
Output_1 Role_1 Status-OFF
Blinds_1 Thing
Blinds_1 Channel_1 Config
Blinds_1 Code
Blinds_1 Channel_1 Status-0
Blinds_1 Channel_1 Status-100
thank you for your time.