The adapter communicates bidirectionally with LoraWan devices via LoRaWAN Network Server via MQTT protocol. “The Thinks Network” and “Chirpstack” are supported now, more could follow later. Adapter was created in collaboration with Joerg Froehner [email protected]
For Documentation use the doc folder. For now there is documentation in English here: https://wiki.hafenmeister.de
- (BenAhrdt) Change unique id for lorawan internal standard states
- (BenAhrdt) Change sequence of dicovery and check downlinks at startup
- (BenAhrdt) Add possibility to switch the LoraWAN communication off (origin)
- (BenAhrdt) Change Topicformat from device_state to device/state
- (BenAhrdt) Add Bridge Type Smarthome
- (BenAhrdt) Bugfix subscribed Topics
- (BenAhrdt) Bugfix on case of objectid starts with '.'
- (BenAhrdt) New NPM Auorisation
- (BenAhrdt) improve Bridge Handling
- (BenAhrdt) push NextSend
- (BenAhrdt) serialize appending Data on NextSend
- (BenAhrdt) update assignhandler (SensorTemperature)
- (BenAhrdt) bring state_off topic to humidifier
- (BenAhrdt) notifi new discover in case of oldDiscoveredDevices
- (BenAhrdt) bugfix debug logging
- (BenAhrdt) add humidifier to foreign States
- (BenAhrdt) Bugfix discover new devices
- (BenAhrdt) Virtual Mode in default selected for Climate Entities
- (BenAhrdt) improve hidden attribute for climate entitie in LoRaWAN
- (BenAhrdt) change discovery delete {} => ''
- (BenAhrdt) dont fillDownlinks in case of not implemented messagetype
- (BenAhrdt) type of json ids changed to string
- (BenAhrdt) Update topics und qnique ids
- (BenAhrdt) setdefault defiveidentifier for lorawan bridge function to used Device Id
- (BenAhrdt) normalize [] () & {} into _
- (BenAhrdt) Virtal Mode for Foreign climate entities available
- (BenAhrdt) Check foreign state id in climate improved
- (BenAhrdt) Improve quere for foreign states in discover foreign climate
- (BenAhrdt) More debuglogging for Foreign Climate error
- (BenAhrdt) Bugfix calling Foreign climate ids
- (BenAhrdt) Bugfix nameing of foreign states
- (BenAhrdt) Bugfix xs in jsonconfig
- (BenAhrdt) Add Climate Entity configuration to foreign states
- (BenAhrdt) delete devices in bridge (discover empty) after changing the device_identifier
- (BenAhrdt) dont use bridge enum within namespace of adapter
- (BenAhrdt) Improve Namebuilding of foreign states to bridge
- (BenAhrdt) bugfix change query of Bridgeurl to LoRaWAN url
- (BenAhrdt) bring connectiontest to bridge config
- (BenAhrdt) Bugfixing deaktivate LNS connection search in case of empty url
- (BenAhrdt) Bugfixing defaultvalues for json states.
- (BenAhrdt) Bring enum selection in config
- (BenAhrdt) Bugfix deleting discovered devices
- (BenAhrdt) build in devug logging to find bug in devicename
- (BenAhrdt) Change detection of new Discovery from LoRaWAN devices
- (BenAhrdt) Bugfix in notifications to Bridge (new device dicovered) => namespace not set
- (BenAhrdt) Bridge import foreign states till Adapter is running
- (BenAhrdt) Bridge delete foreign states till Adapter is running
- (BenAhrdt) nameing of foreign Devices in Bridge
- (BenAhrdt) bugfix namespace also by calling work from directoryhandler
- (BenAhrdt) bugfix namespace also by notifications
- (BenAhrdt) possibility to insert foreign states to bridge by using enum.functions.bridge
- (BenAhrdt) remove await from some callings
- (BenAhrdt) solve publishing intern
- (BenAhrdt) improve handling of state device in case of subfolders
- (BenAhrdt) Bugfix logging removed
- (BenAhrdt) Bugfix send state topics retain
- (BenAhrdt) Bugfix with stateending
- (BenAhrdt) dont translate the selected state in bridge config
- (BenAhrdt) change wording of notifications
- (BenAhrdt) import diagnostic and config fpr entity_type
- (BenAhrdt) change extSernsorTemperature in ExtSernsorTemperature
- (BenAhrdt) Send Trigger retain = false
- (BenAhrdt) Bring notification for Bridge in Admin
- (BenAhrdt) Notify different trigger to Bridge
- (BenAhrdt) notifi new device discovered till Adapter running
- (BenAhrdt) Add general, offline and online Notifications to the discovered devices
- (BenAhrdt) Add general Notifications to device called namespace of the Adapter
- (BenAhrdt) Add Folders for Target Temperature in Heating Events
- (BenAhrdt) correct unit handling & Max valueCount in Tab
- (BenAhrdt) more logging in debug mode
- (BenAhrdt) Safe last 10 publish and subscribed values
- (BenAhrdt) Return the virtual mode
- (BenAhrdt) Change Nameing of Virtual ID for virtual_mode
- (BenAhrdt) Bugfix Climate current_temperature topic
- (BenAhrdt) Bugfix unique_id of climate entities
- (BenAhrdt) normalize topics (without space, dot ....)
- (BenAhrdt) change topics into set and state topic
- (BenAhrdt) Add assign more device_class and state_class in case of unit
- (BenAhrdt) Bugfix unit of measurement
- (BenAhrdt) Improve Statehandling and improve Key Length-handling
- (BenAhrdt) Bugfix selction of States and state_class
- (BenAhrdt) Change Timeformat in Info states and improov logging in case of Statechange
- (BenAhrdt) Add possibility to activate / deactivate cron for cyclic discovery
- (BenAhrdt) Add time to State Information and improov translations.
- (BenAhrdt) Add Tabfunctionality to Adapter (info to some states)
- (BenAhrdt) More Informations in Tab
- (BenAhrdt) Additionals States for published ids & subscribed topics
- (BenAhrdt) Bugfix handling in fillDownlink
- (BenAhrdt) Show discovery topic(s) & messag(es) ind array
- (BenAhrdt) Add Tab to see Discovered, Published and Subscribed Ids.
- (BenAhrdt) Add Posibility to discover climate Entity
- (BenAhrdt) Retaining Discovery
- (BenAhrdt) Bugfixing crc in Vicki Profile => ChildLock
- (BenAhrdt) Add images to the new States
- (BenAhrdt) Dont check connection to Bridge if not selected
- (BenAhrdt) Add the State discovered Ids
- (BenAhrdt) More Debuglogging
- (BenAhrdt) General Nameing in the functions
- (BenAhrdt) Performance update fpr rediscover on cron.
- (BenAhrdt) Build fist Version of own Bridge MQTT Client
- (BenAhrdt) remove Bug with folder / state handling
- (BenAhrdt) Custom Table for Config HA Bridge
- (BenAhrdt) insert logging to object change
- (BenAhrdt) build Custom Config for HA Bridge
- (BenAhrdt) log adapterObjects at start
- (BenAhrdt) more improov logging in case of deviceinformation at startup (debug)
- (BenAhrdt) improov logging in case of deviceinformation at startup (debug)
- (BenAhrdt) update Assignhandler
- (BenAhrdt) update Core dependencies
- (BenAhrdt) set Custom Send payload to upper case
- (BenAhrdt) replace german specific chars like ä => ae
- (BenAhrdt) swap hidden logic
- (BenAhrdt) add more hidden attributes to HA Bridge
- (BenAhrdt) change dependencies
- (BenAhrdt) Add LoRaWAN 2 Home Assistant Bridge
- (BenAhrdt) config notification and / or logging in case of connection state to LNS
- (BenAhrdt) add extSersorTemperature unit "°C"
- (BenAhrdt) backflip handling limits
- (BenAhrdt) improove handling of limits for downlinks
- (BenAhrdt) add role to valve openess in vicki
- (BenAhrdt) bugfix profile for dnt-lw-etrv
- (BenAhrdt) add profile for dnt-lw-etrv
- (BenAhrdt) add some roles and Units
- (BenAhrdt) bugfix jsonconfig schema
- (BenAhrdt) add some roles for uplink states
- (BenAhrdt) update dependencie for mqtt in 5.13.0
- (BenAhrdt) update Testing to 24.x
- (BenAhrdt) Round to convert only integers to HEX
- (BenAhrdt) add roles for uplinks from dnt-lw-etrv
- (BenAhrdt) update assignhandler
- (BenAhrdt) correct lower case for targetTemperatureFloat
- (BenAhrdt) remove role switch in case of send with uplink and collect
- (BenAhrdt) add some states for Mode
- (BenAhrdt) add some roles
- (BenAhrdt) change State Opened to role sensor.window for zigbee / matter stndard
- (BenAhrdt) add role for Low Battery
- (BenAhrdt) add role value.battery to state BatteryPercent
- (BenAhrdt) set new roles and bugfix role in downlink.control at startup
- (BenAhrdt) set logging for custom send from warning to debug
- (BenAhrdt) update dependencie to node >= 20
- (BenAhrdt) improove timestamp in deviceInformation, if its not present in message (eg. manualy send via TTN)
- (BenAhrdt) Improove Custom Send
- (BenAhrdt) Add CustomSend to Control folder
- (BenAhrdt) update Profile for 16ASPM
- (BenAhrdt) Change default fpr push and replace
- (BenAhrdt) Defaultvalues for push und replace (TTN)
- (BenAhrdt) chaned format time in device info
- (BenAhrdt) update dependencies and time / timestamp in deviceinfos
- (BenAhrdt) change timewriting in deviceinfos at chirpstack
- (BenAhrdt) add Volt to assignhandler with unit "V"
- (BenAhrdt) update dependency for admin and js-controller
- (BenAhrdt) update release script dependecie to 3.8
- (BenAhrdt) start with known profiles
- (BenAhrdt) export and import downlinkconmfigs with filemanager
- (BenAhrdt) Set decoded Structure in deviceInfos (with Merge)
- (BenAhrdt) Names of states changed (Downlink Raw)
- (BenAhrdt) Change setObjectNotExistsAsync to extendObjectAsync for Raw Data
- (BenAhrdt) Bugfix creation of deviceinfo
- (BenAhrdt) correction of role for state ExtenalTemperatur
- (BenAhrdt) update eslint
- (BenAhrdt) change header responsive
- (BenAhrdt) add folder "uplink.remaining.version_ids" to writecommands
- (BenAhrdt) add CRC-8
- (BenAhrdt) add roles and fix responsive issues
- (BenAhrdt) add roles
- (BenAhrdt) add new standard types / add new Roles / update core to 3.2.2
- (BenAhrdt) remove some wrong loggings
- (BenAhrdt) add some notifications for devices back online
- (BenAhrdt) add informations about delete an custom entry in config
- (BenAhrdt) remove timestamp from role date (ttn timestamp im µs)
- (BenAhrdt) function to assign properties
- (BenAhrdt) implements example image
- (BenAhrdt) Add "Custom"-Configuration
- (BenAhrdt) Bugfix offlinenotification (calculation of diffenerce)
- (BenAhrdt) Bugfix inf generate Deviceinfo at startup for chirpstack
- (BenAhrdt) improof building of offlinenotification >= 25 hours
- (BenAhrdt) change deviceInformations (keep old values in structure)
- (BenAhrdt) mqtt dependencies updated for better keepalive
- (BenAhrdt) implement keepalive in config
- (BenAhrdt) remove debug warn logging
- (BenAhrdt) set keepalive value to 0 => deactivate automatic reconnection
- (BenAhrdt) setObjectAsynch bug after offline solved
- (BenAhrdt) icons changed
- (BenAhrdt) device offline notofication placed in messagehandler.js
- (BenAhrdt) device offline location changed
- (BenAhrdt) changed icon and offline time
- (BenAhrdt) notifications for connection and disconnection LNS added
- (BenAhrdt) notifiction for device offline added
- (BenAhrdt) change some comments and logging
- (BenAhrdt) support 2's complement
- (BenAhrdt) implement wifi icons
- (BenAhrdt) update Vicki device-config
- (BenAhrdt) setObject changed into setObjectAsync
- (BenAhrdt) Change writing of deviceinformations at Ttn
- (BenAhrdt) def of deviceinformations changed
- (BenAhrdt) seperate dp for deviceinformations
- (BenAhrdt) better concept to write values and change setObjectNotExists to extendObject
- (BenAhrdt) change concept of assigning roles, values and writecommands
- (BenAhrdt) first step of handling with date
- (BenAhrdt) implement ther approvedFolder conzept for writecommands from message
- (BenAhrdt) change folder for writetriggers
- (BenAhrdt) make writetrigger more flexible
- (BenAhrdt) detecting of triggerwords changed
- (BenAhrdt) trigger for devicetype implemented
- (BenAhrdt) implement new deviceprofiles
- (BenAhrdt) searchallgorythm improoved, defaultvalues changed, remove query for "all"
- (BenAhrdt) change logging again if a device joined the network
- (BenAhrdt) change logging if a device joined the network
- (BenAhrdt) write def into state in case of type changes
- (BenAhrdt) improove forbidden chars and implements join raw
- (BenAhrdt) set attributs if undefined
- (BenAhrdt) set tier to 2 and improove standard devices
- (BenAhrdt) put some debug and silly logging to code
- (BenAhrdt) set infos into native
- (BenAhrdt) wording recieved => received in messageing
- (BenAhrdt) rebuild with better messageing
- (BenAhrdt) define user friendly Blockly Blocks with result
- (BenAhrdt) check types of messaging values and implements more blockly blocks
- (BenAhrdt) more functionality in messageing
- (BenAhrdt) building of directory changed and message implemented
- (BenAhrdt) default value crc config bug fixed
- (BenAhrdt) min / max values for downlink-configs (number)
- (BenAhrdt) default of crc changed
- (BenAhrdt) crc calculation improoved
- (BenAhrdt) implement crc calculation
- (BenAhrdt) change filter on statechange
- (BenAhrdt) implments byte swap
- (BenAhrdt) remove units and insert roles
- (BenAhrdt) change input of length and validate hex inputs
- (BenAhrdt) change internal Base devices
- (BenAhrdt) concept of config changed
- (BenAhrdt) reduceing calling changeInfo > create expersettings to send downlinks with uplink
- (BenAhrdt) removing downlink/configuration path and first tests of send downlink with uplink
- (BenAhrdt) remove wrong warn logging
- (BenAhrdt) changed Handling of standard configurations
- (BenAhrdt) romeve reacheble object directory / improoved object === NULL
- (BenAhrdt) bugfix chirpstack directory at downlink queued
- (BenAhrdt) bugfix chirpstack directory
- (BenAhrdt) change device id selecting in chirpstack out of directory (for downlink queued)
- (BenAhrdt) change flow of downlink
- (BenAhrdt) toSend und lastSend added to folders
- (BenAhrdt) changes in length calculation
- (BenAhrdt) first version for beta
- (BenAhrdt) first implementation of chirpstack
- (BenAhrdt) hex to Upper case, more units for decoded payload values
- (BenAhrdt) insert whole translation for config and move some functions
- (BenAhrdt) delete not configed states at startup
- (BenAhrdt) implements buttons and standard downlink control ind json (push / replace)
- (BenAhrdt) first config for downlinks inputed
- (BenAhrdt) initial release
MIT License
Copyright (c) 2025 BenAhrdt [email protected]
Copyright (c) 2025 Joerg Froehner [email protected]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The rights of the trademarks and company names, remain with their owners and have no relation to this adapter. The fairuse policy must continue to be adhered to by the operator of the adapter. If this repository is forked, it must be cited as the source.
LoRa® is a registered trademark or service mark of Semtech Corporation or its affilantes.
LoRaWAN® is a licensed mark.

