Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
homebridge-syntex-magichome
Advanced tools
Homebridge Plugin for MagicHome LED Strips with preset scenes
A simple plugin to control MagicHome devices.
This plugin is made to cooperate with Homebridge: https://github.com/nfarina/homebridge
It also offers some tweaks and improvements to the original devices.
Report
us your Issues
Join
our Discord Server
sudo npm install -g homebridge
sudo npm install -g homebridge-syntex-magichome
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": "SynTexMagicHome",
"baseDirectory": "/var/homebridge/SynTex",
"options": {
"port": 1712,
"language": "us",
"pollingInterval": 10
},
"log": {
"debug": false
},
"accessories": [
{
"id": "light1",
"name": "Kitchen LED Strip",
"services": [
{
"type": "rgb",
"pins": "rgb",
"function": "light",
"ip": "DC4F22C5D4E1"
}
]
},
{
"id": "light2",
"name": "Living Room LED Strip",
"services": [
{
"type": "rgbw",
"pins": "grb",
"function": "light",
"ip": "192.168.1.100"
}
]
},
{
"id": "pswitch1",
"name": "Kitchen Color Strobe Flash (Party)",
"services": [
{
"type": "switch",
"function": "preset-switch",
"ips": {
"192.168.1.100": "255,255,255"
},
"preset": "seven_color_strobe_flash",
"speed": 60
}
]
},
{
"id": "pswitch2",
"name": "All Lights Cross Fade (Soothing)",
"services": [
{
"type": "switch",
"function": "preset-switch",
"ips": {
"DC4F22C5D4E1": "0,150,255",
"192.168.1.100": "102,255,102"
},
"preset": "seven_color_cross_fade",
"speed": 40,
"shouldTurnOff": true
}
]
},
{
"id": "rswitch1",
"name": "Reset All Switches to Default",
"services": [
{
"type": "switch",
"function": "scene-switch",
"ips": {
"192.168.1.100": "255,255,255"
}
}
]
},
{
"id": "multi1",
"name": "Multi Accessory",
"services": [
{
"type": "rgbw",
"function": "light",
"name": "Single Color",
"ip": "192.168.1.100"
},
{
"type": "switch",
"function": "preset-switch",
"name": "Color Fade",
"ips": {
"192.168.1.100": "255,255,255"
},
"preset": "seven_color_strobe_flash",
"speed": 60
}
]
}
]
}
]
platform
is always SynTexMagicHome
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
)pollingInterval
defines how often the plugin should chech the Magic Home device state ( in seconds )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
choose a device config from below.name
could be anything.type
must be either rgb
/ rgbw
( based on your device: look below )pins
can change the order of your pin setup rgb
/ grb
/ brg
( every possible combination )function
is always light
ip
use a normal IP or a MAC address.name
could be anything.type
must be a switch
( for preset and reset switches )function
is always preset-switch
ips
must be a key-value object where key
is MagicHome LED IP Address 192.168.1.100
or DC4F22C5XXXX
MAC Address and value
is the default rgb color of the light "255,255,255" ( white )
preset
is the name of the preset you want to use for the effect ( see Available Presets Scenes
below )speed
defines the speed of the effect ( from 0 to 100 )name
could be anything.type
must be a switch
( for preset and reset switches )function
is always scene-switch
ips
must be a key-value object where key
is MagicHome LED IP Address 192.168.1.100
or DC4F22C5XXXX
MAC Address and value
is the default rgb color of the light "255,255,255" ( white )
You can use MAC Address instead of IP Address as well. Please format the MAC Address. It should be in capital letters and :
should not be present DC4F22C5XXXX
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
( colored light, preset switch, reset switch )&hue=
New Hue or &saturation=
New Saturation or &brightness=
New Brightness ( have to be numbers )&type=
SERVICETYPE&counter=
SERVICENUMBERExample: http://homebridge.local:1712/devices?id=ABCDEF1234567890&type=rgb&counter=0&value=true&hue=4&saturation=100&brightness=100
( Updates the value, hue, saturation and brightness of ABCDEF1234567890
to turned on, orange color, 100% saturation, 100% brightness
for example )
http://
Bridge IP /devices?id=
Device IDBridge IP
and Device ID
&type=
SERVICETYPE&counter=
SERVICENUMBERExample: http://homebridge.local:1712/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:1712/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": "Kitchen LED Strip",
"letters": "30",
"plugin": "SynTexMagicHome",
"operation": "=",
"state": {
"value": true,
"hue": 4,
"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:1712/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
)Any devices created by Zengge and running on the Magic Home Wi-Fi App ( or other apps by the same developer such as LED Magic Color ) should work with this plugin. Some examples of compatible devices are:
rgbw
rgb
rgb
seven_color_cross_fade
red_gradual_change
green_gradual_change
blue_gradual_change
yellow_gradual_change
cyan_gradual_change
purple_gradual_change
white_gradual_change
red_green_cross_fade
red_blue_cross_fade
green_blue_cross_fade
seven_color_strobe_flash
red_strobe_flash
green_strobe_flash
blue_stobe_flash
yellow_strobe_flash
cyan_strobe_flash
purple_strobe_flash
white_strobe_flash
seven_color_jumping
gradual_color_fade
dark_gradual_color_fade
strobe_lights
police_lights
FAQs
Homebridge Plugin for MagicHome LED Strips with preset scenes
The npm package homebridge-syntex-magichome receives a total of 2 weekly downloads. As such, homebridge-syntex-magichome popularity was classified as not popular.
We found that homebridge-syntex-magichome 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.