Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
homebridge-syntex-webhooks
Advanced tools
A simple plugin to control and to create HTTP devices.
This plugin is made to cooperate with Homebridge: https://github.com/nfarina/homebridge
It stores accessory data you can request to display the content on your website / app.
Report
us your Issues
Join
our Discord Server
sudo npm install -g homebridge
sudo npm install -g homebridge-syntex-webhooks
config.json
file. See snippet below.sudo systemctl restart homebridge; sudo journalctl -fau homebridge
Info: If the baseDirectory
for the storage can't be created you have to do it by yourself and give it full write permissions!
sudo mkdir -p /var/homebridge/SynTex/
( create the directory )sudo chmod -R 777 /var/homebridge/SynTex/
( permissions for many processes )sudo chown -R homebridge /var/homebridge/SynTex/
( permissions only for homebridge )"platforms": [
{
"platform": "SynTexWebHooks",
"baseDirectory": "/var/homebridge/SynTex",
"options": {
"port": 1710,
"language": "us"
},
"log": {
"debug": false
},
"accessories": [
{
"id": "sensor1",
"name": "Contact",
"services": [
{ "type": "contact" }
]
},
{
"id": "EC:FA:BC:59:3F:3C",
"name": "Climate",
"services": [
{ "type": "temperature" },
{ "type": "humidity" }
]
},
{
"id": "multi1",
"name": "Multi Switch",
"services": [
{ "type": "switch", "name": "First" },
{ "type": "switch", "name": "Second" }
]
},
{
"id": "multi2",
"name": "Multi Device",
"services": [
{ "type": "switch", "name": "First" },
{ "type": "motion", "name": "Second" },
{ "type": "light", "name": "Third" },
{ "type": "leak", "name": "Leak" },
{ "type": "smoke", "name": "Smoke" },
{ "type": "occupancy", "name": "Present" }
]
},
{
"id": "EC:FA:BC:59:3F:3F",
"name": "Switch",
"services": [
{
"type": "switch",
"requests": [
{
"trigger": "on",
"method": "GET",
"url": "http://192.168.1.100/switch?state=true"
},
{
"trigger": "off",
"method": "GET",
"url": "http://192.168.1.100/switch?state=false"
}
]
}
],
"pingURL": "http://192.168.1.100/ping"
},
{
"id": "EC:FA:BC:59:3F:30",
"name": "Relais",
"services": [
{
"type": "relais",
"requests": [
{
"trigger": "on",
"method": "GET",
"url": "http://192.168.1.100/switch?state=true"
},
{
"trigger": "off",
"method": "GET",
"url": "http://192.168.1.100/switch?state=false"
}
]
}
],
"pingURL": "http://192.168.1.100/ping"
},
{
"id": "light1",
"name": "Dummy Dimmer",
"services": [
{
"type": "dimmer",
"requests": [
{
"trigger": "dimmer",
"method": "GET",
"url": "http://192.168.1.100/brightness="
}
]
}
],
"pingURL": "http://192.168.1.100/ping"
},
{
"id": "light2",
"name": "Dummy Light",
"services": [
{
"type": "rgb",
"spectrum": "RGB",
"requests": [
{
"trigger": "color",
"method": "GET",
"url": "http://192.168.1.100/color"
}
]
}
],
"pingURL": "http://192.168.1.100/ping"
},
{
"id": "event1",
"name": "Events",
"services": [
{
"type": "statelessswitch",
"buttons": 1
}
]
},
{
"id": "blind1",
"name": "Blind",
"services": [
{
"type": "blind",
"delay": {
"up": 11000,
"down": 10000
}
}
]
}
]
}
]
platform
is always SynTexWebHooks
baseDirectory
The path where cache data is stored.accessories
For the accessory config.port
To control your accessory over HTTP calls.language
You can use your country initials if you want to change it ( Currently supported: us
, en
, de
)error
, warn
, info
, read
, update
, success
and debug
( for example debug: false
)id
, name
and services
( required )id
has to be either a real mac address
or another random unique text
( no duplicates! )name
could be anything.services
The services of your accessory.name
could be anything.type
Define the service type ( airquality
, blind
, contact
, dimmer
, humidity
, leak
, led
, light
, motion
, occupancy
, outlet
, rain
, relais
, rgb
, smoke
, statelessswitch
, switch
, temperature
)requests
( trigger can be: on, off, color )spectrum
attribute ( to convert to the right output format: RGB / HSL )buttons
attribute.pingURL
check the device connection.Control and set up your devices by installing homebridge-syntex
This plugin is made for plugin management, automation system and device control.
Check out the GitHub page for more information:
https://github.com/SynTexDZN/homebridge-syntex
http://
Bridge IP /devices?id=
Device ID &value=
New ValueBridge IP
and Device ID
New Value
you can type this pattern:true
/ false
( contact, leak, motion, occupancy, outlet, rain, smoke, switch )10
/ 12.4
( airquality, blind, humidity, light, temperature )true
/ false
( dimmer, led, rgb )&brightness=
New Brightness ( has to be a number )&hue=
New Hue ( has to be a number )&saturation=
New Saturation ( has to be a number )&type=
SERVICETYPE&counter=
SERVICENUMBERExample: http://homebridge.local:1710/devices?id=ABCDEF1234567890&type=light&counter=0&value=20.5
( Updates the value of ABCDEF1234567890
to 20.5 LUX
for example )
http://
Bridge IP /devices?id=
Device IDBridge IP
and Device ID
&type=
SERVICETYPE&counter=
SERVICENUMBERExample: http://homebridge.local:1714/devices?id=ABCDEF1234567890
( Reads the state of ABCDEF1234567890
for example )
http://
Bridge IP /devices?id=
Device ID &remove=CONFIRM
Bridge IP
and Device ID
&type=
SERVICETYPE&counter=
SERVICENUMBERExample: http://homebridge.local:1710/devices?id=ABCDEF1234567890&remove=CONFIRM
( Removes ABCDEF1234567890
from the Config and Home App )
To enable the automation module you have to create a file named automation.json
in your baseDirectory >> automation
or install the homebridge-syntex
plugin to create them via UI ( only between SynTex plugins )
Example: For manual configuration update your automation.json
file. See snippet below.
{
"automation": [
{
"id": 0,
"name": "Demo Automation",
"active": true,
"trigger": {
"logic": "AND",
"groups": [
{
"logic": "OR",
"blocks": [
{
"id": "multi2",
"name": "Multi Device",
"letters": "F0",
"plugin": "SynTexWebHooks",
"operation": "<",
"state": {
"value": 1000
}
},
{
"operation": "=",
"time": "16:00",
"options": {
"stateLock": true
}
}
]
},
{
"logic": "AND",
"blocks": [
{
"id": "multi1",
"name": "Multi Switch",
"letters": "41",
"plugin": "SynTexWebHooks",
"operation": "=",
"state": {
"value": false
},
"options": {
"stateLock": true
}
},
{
"operation": "=",
"days": [
1,
2,
3,
4,
5
]
}
]
}
]
},
"result": [
{
"id": "light1",
"name": "Dummy Light",
"letters": "30",
"plugin": "SynTexWebHooks",
"operation": "=",
"state": {
"value": true,
"hue": 218,
"saturation": 100,
"brightness": 100
}
},
{
"id": "extern1",
"name": "Extern Accessory",
"letters": "40",
"bridge": "192.168.1.100",
"plugin": "SynTexWebHooks",
"operation": "=",
"state": {
"value": false
},
"options": {
"stateLock": false
}
},
{
"operation": "=",
"delay": 1000
},
{
"url": "http://192.168.1.100:1710/devices?id=ABCDEF1234567890&value=true&brightness=100"
}
]
}
]
}
id
A unique ID of your automation.name
The name of the automation.active
Enable / disable a single automation.trigger
What triggers the automation?logic
Define a logical operation for your groups ( AND
, OR
)groups
Logical layer onelogic
Define a logical operation for your blocks ( AND
, OR
)blocks
Logical layer tworesult
What happens when running an automation?options
General automation optionstimeLock
Set a timeout to prevent to many executions ( in milliseconds )id
is the same like in your config file ( or in your log )name
The name of the accessory.letters
See letter configuration below.bridge
IP of your other bridge ( optional )plugin
Use the platform name of the plugin ( optional, see supported plugins below )operation
Use the logical operands ( >
, <
, =
)state
The state of your accessory.value
is used for the main characteristic.brightness
can be used for dimmable / RGB lights.hue
can be used for RGB lights.saturation
can be used for RGB lights.operation
Use the logical operands ( >
, <
, =
)time
Define a time point ( e.g. 16:00
)operation
Use the logical operands ( =
)days
Set the weekdays ( from 0
to 6
)delay
Set a timeout ( in milliseconds )url
Fetch an URL.The letters are split into two parts ( characters )
1. Service Type
2. Duplicate Counter
Example: The first switch in your config has the letters 40
, the second 41
and so on ..
homebridge-syntex-knx
)homebridge-syntex-magichome
)homebridge-syntex-tuya
)homebridge-syntex-webhooks
)FAQs
A webhook plugin for HTTP devices
The npm package homebridge-syntex-webhooks receives a total of 1,175 weekly downloads. As such, homebridge-syntex-webhooks popularity was classified as popular.
We found that homebridge-syntex-webhooks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.