You can run sudo systemctl restart omnithing-webserver
To make sure it starts automatically on boot, run sudo systemctl enable omnithing-webserver
You can run sudo systemctl restart omnithing-webserver
To make sure it starts automatically on boot, run sudo systemctl enable omnithing-webserver
Thanks for the reply! I may have gone backwards⊠Didnât have any luck running those commands so I decided to start over with a fresh install using NOOBS. In the previous attempt, I could see files in opt/omnithing but now I donât even see the omnithing folder. I can confirm that the package is installed by looking at Remove/Install, but Iâm still not able to get to the config page in the browser.
When I run the restart command I get this error:
Failed to restart omnithing-webserver.service: Unit omnithing-webserver.service not found.
Still trying, figure Iâll document things here for myself and anyone else that can benefitâŠ
When running sudo apt update,
I get an error saying:
E: The repository 'http://omnithing.net/repository/rpi ./ Release' does not have a Release file.
Is this expected? Or is this a clue as to why Iâm struggling to get it installed?
This got things running:
pi@raspberrypi:~/OmniThing $ sudo ./OmniThing /opt/omnithing/config.json
Still canât see the config tool in the web browser using the IP address, but I can edit the config file and I hear the relay going on and off when I set up a trigger as a toggle.
Having trouble with setting up code/device to actually control the relay through smartthings, but it seems like Iâm really close now.
Here is what Iâm using for config.json. Any help greatly appreciated.
The poll function is working, I can see it updating in the terminal after I run config.json
Have not been able to control through smartthings app, nor do I see the switch update when the relay was set to toggle on and off.
{
"NetworkReceiver": {
"type": "NetworkReceiverHttpLib",
"port": 8090
},
"NetworkSender": {
"type": "NetworkSenderHttpLib",
"ip": "10.11.1.103",
"port": 39500
},
"CompositePeriphs": [],
"Devices": [
{
"type": "Switch",
"name": "testSwitch",
"triggers": [
{"interval": 5000, "command": "poll"}
],
"subscriptions": [
{"source": "testSwitcht", "event": "changed", "command": "toggle"}
],
"output": {
"type": "DigitalOutputPinRaspberryPi",
"pin": 15,
"initial": false,
"invert": false
},
"invert": false
"initial": false
}
]
}
The error about no release file is due to me not having set it up as a proper apt repo. Besides the warnings it hasnât seemed to matter so far. I donât think itâs the source of the issue youâre having.
Worst case scenario you can use the config tool at http://omnithing.net to generate the configuration file if youâre unable to get the webserver running.
From where youâre running the executable, it appears that youâve cloned the repo. Are you building it from source? This shouldnât be necessary when installing using the apt repo.
Have you tried removing the omnithing package and reinstalling it? Itâs bizarre that it says itâs installed but with no /opt/omnithing directory. I admit that I havenât tested the package installation for the last two releases, so itâs entirely possible that itâs broken. Iâll try to give it a go at some point this weekend.
Hello,
Iâm newbie.
Iâll test with a simple ESP8266 but i have an error with the omni parent:
21:37:14: debug Executing ârefreshâ
21:37:14: debug Executing âupdateDeviceNetworkIDâ formattedMac == 5CCF7F0xxxx
21:37:14: debug Executing âconfigureâ
21:37:14: debug Executing âconfigureâ
21:36:46: debug Executing ârefreshâ
21:35:46: debug Searching for child device with network id: 5CCF7F0xxxx_PIR Salon
21:35:46: error Failed to create child device with error = groovy.lang.MissingPropertyException: No such property: key for class: java.lang.String
21:35:46: debug Attempting to create child with name=PIR Salon type=MotionSensor
21:35:46: debug child with name=PIR Salon does not exist.
21:35:46: debug Searching for child device with network id: 5CCF7F0xxxx_PIR Salon
21:35:46: debug Searching for child device with network id: 5CCF7F0xxxx_Armed
21:35:46: error Failed to create child device with error = groovy.lang.MissingPropertyException: No such property: key for class: java.lang.String
21:35:45: debug Attempting to create child with name=Armed type=ContactSensor
21:35:45: debug child with name=Armed does not exist.
21:35:45: debug Searching for child device with network id: 5CCF7F0xxxx_Armed
21:35:45: debug parsing updates array
21:35:45: debug [updates:[[contact:closed, name:Armed, type:ContactSensor], [motion:active, name:PIR Salon, type:MotionSensor]]]
21:35:45: debug received body:
{âupdatesâ: [{ânameâ: âArmedâ, âtypeâ: âContactSensorâ, âcontactâ: âclosedâ},{ânameâ: âPIR Salonâ, âtypeâ: âMotionSensorâ, âmotionâ: âactiveâ}]}
And in the log of the child device
21:35:46: debug sending event: name=motion value=active
21:35:46: debug parsing [motion:active, name:PIR Salon, type:MotionSensor]
21:35:46: error groovy.lang.MissingPropertyException: No such property: key for class: java.lang.String @line 52 (parse)
21:35:46: debug parsing updated
Parent device and child device are created but i a java error in the log
the json of my ESP8266:
{
âNetworkReceiverâ: {
âtypeâ: âNetworkManagerEsp8266â,
âportâ: 80,
âssidâ: âxxxxxâ,
âpasswordâ: âxxxxxâ
},
âNetworkSenderâ: {
âtypeâ: âNetworkManagerEsp8266â,
âportâ: 39500,
âipâ: â192.168.0.xxxxâ,
âssidâ: âxxxxâ,
âpasswordâ: âxxxxâ
},
âCompositePeriphsâ: ,
âDevicesâ: [
{
âtriggersâ: ,
âsubscriptionsâ: [
{
âsourceâ: âArmedâ,
âeventâ: âchangedâ,
âcommandâ: âpollâ
}
],
âtypeâ: âContactSensorâ,
ânameâ: âArmedâ,
âinputâ: {
âtypeâ: âDigitalInputPinArduinoâ,
âpinâ: 1,
âinvertâ: true,
âpullupâ: true
},
âinvertâ: true,
âconstantPollâ: true
},
{
âtriggersâ: ,
âsubscriptionsâ: [
{
âsourceâ: âPIR Salonâ,
âeventâ: âactiveâ,
âcommandâ: âpollâ
}
],
âtypeâ: âMotionSensorâ,
ânameâ: âPIR Salonâ,
âinputâ: {
âtypeâ: âDigitalInputPinArduinoâ,
âpinâ: 3,
âinvertâ: true,
âpullupâ: true
},
âinvertâ: null,
âconstantPollâ: null
}
]
}
Hey how is everything going
My OmniThing instance was working beautifully until yesterday and now i am not getting any feedback form it with the exception of the DHT sensor i get this on the logs
Error No Reply
and
Return value 202
What has changed?? I can not command the relays and the motion and sound sensors do not report status when everything was just excellent before
Denis
Looks like a networking issue between your pi and hub. Have you tried rebooting your hub and your pi? Iâd also double check that neither your hubâs nor piâs IP addresses have changed. That log actually indicates that everything is working until that Error: No reply. Might just be that omnithing needs a restart (easiest to just reboot the pi).
It worked ⊠rebooting the SmartThings Hub did the trick âŠi had already rebooted the Rpi a few times before posting ⊠thank you as always
Denis
Hey Guys -
Iâve been trying to get OmniThings working with a RaspBerry Pi Zero W & DHT22 for half a day without luck. Was hoping I could post what Iâve got and someone tell me what may be the culpritâŠ
My Issue
SmartThings lists my device as Offline. Think it may be something in my config file or server as when starting it via SSH, the echo mentions âERROR: No config found for type: DhtReaderâ (Full echo below)
Hardware
How I Set it Up
SSH Echo When Launching OmniThings
Which includes echo of config.json
pi@rastemp:~/OmniThing $ ./OmniThing /home/pi/config.json
Attempting to open configuration file: /home/pi/config.json
Parsing Json Config:
{
âNetworkReceiverâ: {
âtypeâ: âNetworkReceiverHttpLibâ,
âportâ: 8090
},
âNetworkSenderâ: {
âtypeâ: âNetworkSenderHttpLibâ,
âipâ: â192.168.0.224â,
âportâ: 39500
},
âCompositePeriphsâ: [
{
âtypeâ: âDhtReaderâ,
ânameâ: âDHT22â,
âpinâ: 4,
âpullupâ: false,
âdht11â: false
}
],
âDevicesâ: [
{
âtriggersâ: [
{
âintervalâ: 150000,
âoffsetâ: 1000,
âcommandâ: âpollâ
}
],
âsubscriptionsâ: [
{
âsourceâ: âtimelapse_temperatureâ,
âeventâ: null,
âcommandâ: âpollâ
}
],
âtypeâ: âTemperatureMeasurementâ,
ânameâ: âtimelapse_temperatureâ,
âinputâ: {
âtypeâ: âInputFloatRefâ,
âcompositeNameâ: âDHT22â,
âparamNameâ: âtemperatureâ
}
},
{
âtriggersâ: [
{
âintervalâ: 150000,
âoffsetâ: 0,
âcommandâ: âpollâ
}
],
âsubscriptionsâ: [
{
âsourceâ: âtimelapse_humidityâ,
âeventâ: null,
âcommandâ: âpollâ
}
],
âtypeâ: âRelativeHumidityMeasurementâ,
ânameâ: âtimelapse_humidityâ,
âinputâ: {
âtypeâ: âInputFloatRefâ,
âcompositeNameâ: âDHT22â,
âparamNameâ: âhumidityâ
}
}
]
}
Found NetworkReceiver entry
Found configuration
port=8090
Successfully created new {
âtypeâ: âNetworkReceiverHttpLibâ,
âportâ: 8090
}
Found NetworkSender entry
Found configuration
ip=192.168.0.224 port=39500
Successfully created new {
âtypeâ: âNetworkSenderHttpLibâ,
âipâ: â192.168.0.224â,
âportâ: 39500
}
ERROR: No config found for type: DhtReader
############# CONFIGURATIONS ##############
Device Configurations:
ContactSensor
Momentary
MotionSensor
RelativeHumidityMeasurement
Switch
SwitchLevel
TemperatureMeasurement
VoltageMeasurement
Composite Peripheral Configurations:
InputBool Configurations:
InputBoolRef
InputDebouncer
CommandReturnCode
InputFloat Configurations:
InputFloatRef
CommandParser
InputUInt Configurations:
InputUIntRef
OutputVoid Configurations:
TimedOutputBool
CommandExecuter
OutputBool Configurations:
OutputBoolToFloat
TimedOutputBool
CommandExecuterSwitch
OutputFloat Configurations:
OutputString Configurations:
NetworkReceiver Configurations:
NetworkReceiverHttpLib
NetworkSender Configurations:
NetworkSenderHttpLib
############# DEVICES ##############
Devices:
############# TRIGGERS ##############
Triggers:
############# SUBSCRIPTIONS ##############
Subscriptions:
Initializing devicesâŠ
Initializing schedulerâŠ
Starting http server threadâŠ
Starting http serverâŠ
IDE Live Logging for Device
Iâve opened the deviceâs config and verified everything in it including MAC plus tried to refresh it a couple of times yielding the below logging:
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:15:51 PM: debug Executing ârefreshâ
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:15:34 PM: debug Executing ârefreshâ
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:15:34 PM: debug Executing âupdateDeviceNetworkIDâ formattedMac == B827EBXXXXXX
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:15:34 PM: debug Executing updated()
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:04:26 PM: debug Executing ârefreshâ
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:04:26 PM: debug Executing âupdateDeviceNetworkIDâ formattedMac == B827EBXXXXXX
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:04:26 PM: debug Executing âconfigureâ
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:04:25 PM: debug Executing ârefreshâ
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:04:25 PM: debug Executing ârefreshâ
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:04:06 PM: debug Executing ârefreshâ
186b9fea-8f78-4bc1-87d3-xxxxxxxxxxxx 1:04:06 PM: debug Executing ârefreshâ
Any suggestions? Thanks!
Update
I realized when reviewing that I had entered the IP of my RasbPi in the config and not the hub which is .200. I updated the config, restarted the web server, but got the same results
Hi Ben,
It looks like you built OmniThing with the linux build target rather than the rpi target (this is why it doesnât know how to handle the DHT or any GPIOs). If you rebuild it with cmake . -DBUILD_TARGET=rpi
I think it will work properly for you.
That said, I highly recommend installing OmniThing on the raspberry pi using the package manager. This is described under âInstallation Instructionsâ in the README. The advantage with this method is that youâll receive updates every time you run apt update && apt upgrade
if there has been a new OmniThing release. Building it from source yourself is only really beneficial if you are planning to make your own changes to the source code (or if you just prefer building from source).
Hello,
I used Omnithing, it work fine.
Do you think add some device handler or insert the possibility to declare your own device handler in the Web Site?
For example; how to simulate a latch key for a doorgate?
Regards
Can you give more details on what youâre trying to achieve? Is it not something that can be modeled by the switch or contact sensor device types?
Dynamic device types canât really be supported, since it would require a new groovy device handler per type.
Version 0.8.0 has just been released:
Hello,
When I press the switch, I want it to stay on for 1 to 2 seconds before going back off
Regards
You can achieve this by creating a âMomentaryâ device. For the output, select the TimedOutputBool. It allows you to set the duration that it will turn on the OutputBool you give it before turning back off. In the app, your device will be a button you can press.
Does that do everything you need?
Hi,
Is there any solution for the âerror Failed to create child deviceâ reported by Ej3359 ?
I am having the same issue and for my case it also creates a new device on my smartthings app every time a new sensor data arrives.
Perhaps is due to the fact that it cannot find the child device and hence itâs creating a new one all the time.
I am using omnithing for raspberry pi.
Here is my config:
{
âNetworkReceiverâ: {
âtypeâ: âNetworkReceiverHttpLibâ,
âportâ: 39000
},
âNetworkSenderâ: {
âtypeâ: âNetworkSenderHttpLibâ,
âipâ: â192.168.1.15â,
âportâ: 39500
},
âCompositePeriphsâ: ,
âDevicesâ: [
{
âtriggersâ: [
{
âintervalâ: 30000,
âoffsetâ: 0,
âcommandâ: âpollâ
}
],
âsubscriptionsâ: [
{
âsourceâ: âtemperatureâ,
âeventâ: null,
âcommandâ: âpollâ
}
],
âtypeâ: âTemperatureMeasurementâ,
ânameâ: âtemperatureâ,
âinputâ: {
âtypeâ: âCommandParserâ,
âcommandâ: â/home/pi/applications/bin/temperature -xâ
}
}
]
}
Any help ?
Have you tried completely removing the omnithing parent device and re-adding it? Iâd also be sure to hit the configure button in the app for the parent device and re-saving the configuration settings. Sometimes that gets rid of strange errors related to child device creation.
Can you show me your SmartThings logs of the failure if that still doesnât solve things?
Hi,
Iâve just started tackling my next ST challenge - grabbing data from a wifi SD card. Iâm planning to use a windows server to sit in the middle - I was starting to write a device handler to post the data to the ST Hub, when I realised I was basically trying to re-write ST_Anything (which Iâm already using very successfully), only for Windows.
Then I bumped in to thisâŠ
So, Iâm embarking on setting up for Windows, and Iâve hit my first snag - http://www.omnithing.net/ is saying ârefused to connectâ - is it down for a while?
Thanks,
James
Hi James,
Yes, I recently had to reformat the webserver Iâve been running the site on, and I havenât reconfigured it yet. It should be up within the next few days, and Iâll post here once itâs fixed.