ptvoinfo / zigbee-configurable-firmware Goto Github PK
View Code? Open in Web Editor NEWPTVO firmware for CC2530, CC2531, and CC2652 Zigbee chips
Home Page: https://ptvo.info/zigbee-configurable-firmware-features/
License: MIT License
PTVO firmware for CC2530, CC2531, and CC2652 Zigbee chips
Home Page: https://ptvo.info/zigbee-configurable-firmware-features/
License: MIT License
Hi,
I opened an issue because in the GUI of Zigbee2MQTT is displayed the wrong firmeware build date: see
nurikk/zigbee2mqtt-frontend#140
The developer answert, no, please check the firmware of the CC2530.
Don't know if this is a documentation error I'm missing something. The feature list shows the capability to use the Bosch BMP280 and BME280.
In the program I only see BMP280 and NO BME280.
Thanks
John
BTW I've not actually used the software yet (hence the BME280 Question) however it promises to be an awesome program.
I have flashed my CC2530 + CC2591 with the firmware.
I also have entered my network key inside in the "Firmware Configuration" tool.
When I plug it in and pair my devices everything works, until I remove power from it.
Afterwards I need to repair everything to make it work again....
Is this a bug or as designed?
Hi,
I toggle switch through the node-red web page, it works but the MQTT "in" node that I use to update the switch status gives me "Failed to parse JSON string" error. Not sure if its the node-red issue or the string that comes out of the switch. Just wondering where to look any pointer would be appreciated:
Thank you so much
Shah
Here is my nodered setup:
zigbee2mqtt/0x00124b001ef965ab/# --->payload.state_l1--->on/off switch--->Toggle switch.0x00124b001ef965ab_switch_l1
i want to crete my own pcb with cc2530 modules and coin cell battery
can your firmware be used for that? and will it work with deconz/phoscon?
Greetings,
I've started paying with the customizeable firmware program (too bad there is no Linux version, spinning up a windows VM is awkard). However, I discovered an issue when exposing the internal temperature to z2m. I'm using the generated js file to inform z2m of the facts of life.
So it seems the firmware generates a analog output in l1 named temperate
(not cpu_temperature!
) and on l2 the analog output named voltage
. The voltage is all fine. The temperature is not however. It gets exported to mqtt just fine as l1: 30 and temperature_l1, but in the z2m dashboard, where it is exposed via e.cpu_temperature()
(which looks for a cpu_temperature
field). So that stays N/A forever.
Also, the generated .js does not expose the e.linkquality()
. This is needed for custom devices as all the devices in devices.js get the linkquality() automaticly appended in it's module.export function, but not the custom ones.
It also seems the 300s default reporting interval does not work. It keeps report the temperature and voltage every 60 seconds, till I added a report interval for 300s manually in z2m dashboard. So you might want to look at that code some more.
change e.cpu_temerature()
=> e.temperature()
add e.linkquality()
A better solution would be to tweak the firmware that the internal temperature really is exported as cpu_temperature
and not temperature
. Also it looks like the .withAccess()
is not needed on voltage(), it already has that state.
Board type: CC2530 + CC2591
Device type: Router
Transmit enable (TXEN): P12Receive enable (RXEN): P14
Model ID: ptvo.switch_2021
Status LED: P20, Periodic (every 30 seconds)
Set default reporting interval (s): 300
Input pins:
P01: Input 1, Internal temperature
P02: Input 2, Source voltage
const zigbeeHerdsmanConverters = require('zigbee-herdsman-converters');
const exposes = zigbeeHerdsmanConverters.exposes;
const ea = exposes.access;
const e = exposes.presets;
const fz = zigbeeHerdsmanConverters.fromZigbeeConverters;
const tz = zigbeeHerdsmanConverters.toZigbeeConverters;
const ptvo_switch = zigbeeHerdsmanConverters.findByDevice({modelID: 'ptvo.switch'});
fz.legacy = ptvo_switch.meta.tuyaThermostatPreset;
const device = {
zigbeeModel: ['ptvo.switch_2021'],
model: 'ptvo.switch_2021',
vendor: 'Custom devices (DiY)',
description: '[Configurable firmware](https://ptvo.info/zigbee-configurable-firmware-features/)',
fromZigbee: [fz.ignore_basic_report, fz.ptvo_switch_analog_input,],
toZigbee: [tz.ptvo_switch_analog_input,],
exposes: [e.cpu_temperature().withEndpoint('l1'),
e.voltage().withAccess(ea.STATE).withEndpoint('l2'),
],
meta: {
multiEndpoint: true,
},
endpoint: (device) => {
return {
l1: 1, l2: 2,
};
},
};
module.exports = device;
const zigbeeHerdsmanConverters = require('zigbee-herdsman-converters');
const exposes = zigbeeHerdsmanConverters.exposes;
const ea = exposes.access;
const e = exposes.presets;
const fz = zigbeeHerdsmanConverters.fromZigbeeConverters;
const tz = zigbeeHerdsmanConverters.toZigbeeConverters;
const ptvo_switch = zigbeeHerdsmanConverters.findByDevice({modelID: 'ptvo.switch'});
fz.legacy = ptvo_switch.meta.tuyaThermostatPreset;
const device = {
zigbeeModel: ['ptvo.switch_2021'],
model: 'ptvo.switch_2021',
vendor: 'Custom devices (DiY)',
description: '[Configurable firmware](https://ptvo.info/zigbee-configurable-firmware-features/)',
fromZigbee: [fz.ignore_basic_report, fz.ptvo_switch_analog_input,],
toZigbee: [tz.ptvo_switch_analog_input,],
exposes: [
e.temperature().withEndpoint('l1'),
e.voltage().withEndpoint('l2'),
e.linkquality(),
],
meta: {
multiEndpoint: true,
},
endpoint: (device) => {
return {
l1: 1, l2: 2,
};
},
};
Could it be a possible feature in the future, that UART commands could define Zigbee switches/buttons?
This way outside of Z2M, the device is presenting zigbee switches for commands defined in the firmware.
I'm trying to recreate this but in zigbee with cc2530.
The device has an Rs232 port and I communicate fine with it, but it'd be nice if the device could present each command as a switch.
Hey,
i'm using a ZigUp with PWM output on P13 with odd results.
Up to a value of 138 is more or less fine. Measuring about 60% duty cycle with my multimeter. It should be 54 but not big deal.
However setting it to 139 the results in roughly 75% duty cycle.
170 goes to 97%
Is my multimeter wrong or a bug in the firmware? I have no further way to test this with my equipment.
It would be nice to have the application version visible on the screen.
Thx!
Selected input pin are lowered down, no data exchange.
Corresponding zigbee cluster (000C_AnalogInputBasic) has no value.
Tested on 1.4.9.0, 1.4.8.0
If the power saving mode is activated, and the coordinator disappears from the network for several hours, and then reappears, the PTVO firmware does not restore the connection. I waited more than 2 days, the connection was not restored, the power consumption was 0.5 ua, the module was obviously in deep sleep mode without RTC. It would be correct for the module to try to restore the connection at least occasionally, for example, once an hour, or more often.
Hello,
i use 1 output as externall pullup and choose 1820b sensor, and get it connected but i dont receive it in Homeassistant
GPIO input don't send messages on "release" in PSM firmware with switch mode enabled. Only "push" events received, attribute 0x0055 for cluster "multistate input" always have value 1, led blinks only once.
Hi there. I would really like to flash this to a CC2531 I have lying around as well. Most stable way for me is to be able to enter the network key into the flash file.
It works so good for my CC2530+CC2591. But I want to extend my network with CC2531's.
Hi, thank you for this great firmware.
I'd like to bllink a load (i.e. a LED) at 0.5Hz, 1Hz or 2Hz. Could you please add this feature to the PWM options?
Thank you... and I owe you a cofee!
Hi, after lots of trying, I thing firmware always report only four analog values from inputs. Connected four DS18B20 and ADC, runnig for couple of hours, but temperature from fourth sensor never come. But when i disable ADC, then data from sensor are received. So sensor is ok.
All others work very well.
There is log from zigbee2mqtt:
Zigbee2MQTT:debug 2021-08-25 18:27:37: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 1 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:37: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":15,"l2":15.625,"l3":11.5,"l7":0.172,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":15,"temperature_l2":15.6,"temperature_l3":11.5,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:37: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 2 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:37: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":15,"l2":15.625,"l3":11.5,"l7":0.172,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":15,"temperature_l2":15.6,"temperature_l3":11.5,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:37: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 3 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:37: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":15,"l2":15.625,"l3":11.5,"l7":0.172,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":15,"temperature_l2":15.6,"temperature_l3":11.5,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:37: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:37: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":15,"l2":15.625,"l3":11.5,"l7":0.172,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":15,"temperature_l2":15.6,"temperature_l3":11.5,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:37: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genOnOff', data '{"onOff":0}' from endpoint 8 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:37: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":15,"l2":15.625,"l3":11.5,"l7":0.172,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":15,"temperature_l2":15.6,"temperature_l3":11.5,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:38: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genAnalogInput', data '{"description":"C,28-6D-C2-45-42-20-01-B6","presentValue":14.875,"statusFlags":5}' from endpoint 1 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:38: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":14.875,"l2":15.625,"l3":11.5,"l7":0.172,"linkquality":57,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":14.9,"temperature_l2":15.6,"temperature_l3":11.5,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:39: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genAnalogInput', data '{"description":"C,28-03-CD-A9-42-20-01-52","presentValue":15.5,"statusFlags":5}' from endpoint 2 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:39: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":14.875,"l2":15.5,"l3":11.5,"l7":0.172,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":14.9,"temperature_l2":15.5,"temperature_l3":11.5,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:40: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genAnalogInput', data '{"description":"C,28-54-DF-3A-42-20-01-6F","presentValue":11.4375,"statusFlags":0}' from endpoint 3 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:40: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":14.875,"l2":15.5,"l3":11.438,"l7":0.172,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":14.9,"temperature_l2":15.5,"temperature_l3":11.4,"temperature_l4":null,"voltage_l7":0.2}'
Zigbee2MQTT:debug 2021-08-25 18:27:40: Received Zigbee message from '0x00124b0014db2161', type 'attributeReport', cluster 'genAnalogInput', data '{"description":"V","presentValue":0.15299999713897705,"statusFlags":31}' from endpoint 7 with groupID 0
Zigbee2MQTT:info 2021-08-25 18:27:40: MQTT publish: topic 'zigbee2mqtt/0x00124b0014db2161', payload '{"device_l1":"28-6D-C2-45-42-20-01-B6","device_l2":"28-03-CD-A9-42-20-01-52","device_l3":"28-54-DF-3A-42-20-01-6F","l1":14.875,"l2":15.5,"l3":11.438,"l7":0.153,"linkquality":54,"state_l1":"ON","state_l2":"ON","state_l3":"ON","state_l4":"ON","state_l8":"OFF","temperature_l1":14.9,"temperature_l2":15.5,"temperature_l3":11.4,"temperature_l4":null,"voltage_l7":0.2}'
Thank you for reaction, regards Tomas.
Hi
Is it possible in a future version to have 9 inputs ? One for the join / reset network dedicated to that and 8 for projects. Like 8 inputs available and one Status Led
When setting up the firmware for use with the EBYTE E18-MS1PA1 it looks like the corresponding .txt file saves the setting. Nevertheless, this setting is not restored after pressing the 'read settings from firmware' button.
In accordance with the documentation, in sleep mode the ports must be set to LOW. This does not happen in version 1.5.1.2. The supply voltage remains on the ports. Both on SDA and SCL ports and others.
I have two devices that worked fine after flashing. The day before yesterday I had a short circuit in the line and the fuse went out.
The devices were offline for two days, and today when the line was repaired, they are no longer on the network. I had to flash them again and repair them. Is it ok that after the long break the devices should be paired again?
Hi, 1st I very much appreciate your sharing you hard work.
I have a configuration programmed into my CC2530 board. I can read and parse the message into a MAP. However I cannot figure out how to decode the returned value: The applied input voltage is 0 (i.e. the ADC input is shorted to gnd)
The returned value is: value:000000006F0018001C00420156
Perhaps I'm missing something but all my research has not been successful.
Can you point me in the right direction?
Thanks
John
the Configuration is:
Board type: CC2530
Device type: End device without routing
Status LED: P01
Output pins:
P13: Output 1, GPIO, External pull-up, Remember state
P12: Output 2, GPIO, External pull-up, Remember state
Input pins:
P20: Input 2, GPIO, External pull-up, Link to out 2
P06: Input 3, ADC (max 3.3V)'
Hello,
It looks like trigger functionality for GPIO output is broken on 15/02 release of the firmware.
I used this feature with a release I dowloaded previously on oct 31th with success (can not say exactly which version).
Config was :
Board type: CC2530
Device type: Router
Power saving mode (PSM): No
Default reporting interval (s): 300
Output pins:
P13: Output 1, GPIO, External pull-up
MQTT message was send with payload {“trigger”: 200}
Now trigger still works but instead of 200ms it releases the trigger at 20 000ms (x100)
Changelog says something has been changed about trigger on the Christmas edition, perhaps it is related to this ?
Thanks,
Nick.
I've tried to make a DIY zigbee temperature+humidity sensor, using ptvo firmware, but i am unable to get any response from that.
Tried with HTU21, BMP280 and for last resort a DHT22 with proper pullup resistor.
The configuration for DHT22 was the following:
Board type: CC2530
Device type: Router
Manufacturer name: Climax
Model ID: RS_00.00.02.06TC
Update firmware's timestamp : 2021-04-06
Enable watchdog timer: Yes
Status LED: P12 (Inversed), Periodic (every 5 seconds)
Set default reporting interval (s): 60
Output pins:
P04: Output 1, DHT 22, Pull-up
Pairing was succesful, zigbee2mqtt identified the new device:
Zigbee2MQTT:info 2021-04-06 17:33:25: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":[{"dateCode":"20201127","friendly_name":"Coordinator","ieeeAddr":"0x00124b0014d92f63","lastSeen":1617730405615,"networkAddress":0,"softwareBuildID":"zStack12","type":"Coordinator"},{"description":"Temperature & humidity sensor","friendly_name":"0x00124b0021080dcc","ieeeAddr":"0x00124b0021080dcc","lastSeen":1617730394139,"manufacturerID":4447,"manufacturerName":"Climax","model":"RS-23ZBS","modelID":"RS_00.00.02.06TC","networkAddress":22629,"powerSource":"Mains (single phase)","type":"Router","vendor":"Climax"}],"type":"devices"}'
But reporting temperature is not working, error message is the following:
Zigbee2MQTT:error 2021-04-06 17:35:40: Failed to configure '0x00124b0021080dcc', attempt 1 (Error: Bind 0x00124b0021080dcc/1 msTemperatureMeasurement from '0x00124b0014d92f63/1' failed (AREQ - ZDO - bindRsp after 10000ms)
at Timeout._onTimeout (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/utils/waitress.js:46:35)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7))
Anyone has a clue how to debug the problem, or how to make a working device, using existing zigbee2mqtt templates? I choosed the RS_00.00.02.06TC ID as it reports exactly two values temperature and humidity, nothing else, to avoid confusion.
Could you please share us some example configurations like zigbee wall switch or cordinator or rooter etc.?
It would be very useful to understand the model of configuration.
Thank you in advance
I think something about GPIO management (sensing HIGH and LOW input) changed in latest versions of the firmware.
PROBLEM: I have a custom PCB. With the same PCB, firmware 2021-04-05 works smoothly, but with firmware 2021-08-05 it stops sensing the button pressess. I repeated with another CC2530 and the problem is reproducible everytime. If i go back to the 2021-04-05 it works.
HARDWARE: I'm using a ChdTech zigbee CC2530 module with an OpAmp linked directly to a GPIO. The OpAmp outputs 1,95V steady (for logic 1) and 0V steady (for logic 0). The Input is configured with External pull-up, linked to the relative output.
Can you check if something has changed with sensing GPIO high and low?
Hi,
I have built the firmware using the following configuration:
uart.ini.txt
I am attempting to interface with this sensor US-100 Ultrasonic Distance Sensor using it serial interface. https://www.adafruit.com/product/4019
I have two main issues.
1st) When using uart commands such as
zigbee2mqtt/deep/set
{"action":[1,80]}
I receive two action responses, one with the reply I expect and another afterwards with and empty action field. Is this expected behaviour?
MQTT publish: topic 'zigbee2mqtt/deep', payload '{"action":"+A","l2":2.97,"l3":29,"l4":855,"linkquality":52,"state_l2":"OFF","temperature_l3":29,"voltage_l2":3}'
MQTT publish: topic 'zigbee2mqtt/deep', payload '{"action":"","l2":2.97,"l3":29,"l4":855,"linkquality":52,"state_l2":"OFF","temperature_l3":29,"voltage_l2":3}'
MQTT publish: topic 'zigbee2mqtt/deep/action', payload '+A'
2nd) I am getting 3 x status messages at the defined interval. When I would normally expect only one.
MQTT publish: topic 'zigbee2mqtt/deep', payload '{"l2":2.97,"l3":29,"l4":1395,"linkquality":81,"state_l2":"OFF","temperature_l3":29,"voltage_l2":3}'
Info MQTT publish: topic 'zigbee2mqtt/deep', payload '{"l2":2.97,"l3":29,"l4":1395,"linkquality":81,"state_l2":"OFF","temperature_l3":29,"voltage_l2":3}'
Info MQTT publish: topic 'zigbee2mqtt/deep', payload '{"l2":2.97,"l3":29,"l4":1455,"linkquality":81,"state_l2":"OFF","temperature_l3":29,"voltage_l2":3}'
Regards,
S
I have an issue with mine Sonoff basicZBR3
My goal is that i want my sonoff to power on when there is a power failure
i can do that with this configuration:
Output1 - P07 GPIO Pull-up Inversed
Input1 - P13 GPIO Pull-up "Link to out 1"
this will make the relay to be on after power failure BUT in Home assistant the state will be wrong:
Example: Light is on (Home Assistant will see this is OFF)
Light is off (Home Assistant will see this is ON)
I dont have anything else on my sonoff then just a light
What am i missing? Please advise and help ...
Configured firmware for 4pcs DS18B20 and its reporting twice a second or more. Need to configure that resolution. Thank you.
Hi, would it be possible to use the ZCL_CLUSTER_ID_GEN_ON_OFF cluster when the input is in switch mode, instead of ZCL_CLUSTER_ID_GEN_MULTISTATE_INPUT_BASIC? After all it's a boolean value.
I noticed the cluster is changed to ZCL_CLUSTER_ID_GEN_ON_OFF when linked to an output (but I wouldn't link it), that's why it seems reasonable to implement.
Thank you
It would be perfect if MAX31855 or MAX6675 could be added, so i don't have to use co-processor for reading the temperature
I have tried the end device version with 1.15V measuring and it works flawless.
Today I bought a license for PSM but now I get every report the same Voltage. It seems to work once but for the next measurement (after 600s) it seems like wakeup time is not enough to measure a new voltage.
I use a CC2530.
Do you need more input?
recreate:
Flash E18 chip with firmware, connect to zigbee.
Wait 5-15 min, change some output states to true from zigbee.
Wait 1-2 hours. Inputs with the same numbers change their state to 1 from 0.
Firmware ini attached.
DM1_test.zip
Last version tested 1.4.9.0
It uses i2c bus, usually
Specially SPS30 one i am owning :)
Can we have easy way to add InfraRed input for signals from remotes?
Input (receiving IR codes)
Output (sending IR codes)
Thank you.
Dear ptvoinfo,
Thank you very much for your amazing project. I appreciate your kind effort. however, the read setting from firmware button is not working for me. could you help me for that?
Hello PTVO,
Thanks for the awesome firmware.
I recently designed a PCB with a E18 CC2530 by EByte and powered by a CR2032 battery. This works perfectly without PSM enabled. Before I purchase the premium versions to enable PSM and safe on battery life drastically, I would like to ask a couple of questions.
FYI my firmware has the ability to output 6 buttons.
Thanks in advance!
Такой режим бы отлично подошел для реле 4 или 8 канального реле от @Jager_f для управления климатом.
Hi !
First of all, thank you for the good job.
I'm probably dreaming awake, but i was wondering if OTA update would be doable for your customizable firmware ?
If I push button on input1 (single) I get 2 message with interval 15-90 ms. I need only one messge.. Where is my mistake?
Hey,
I'm trying to get this to work on my ZigUP device(s) (https://github.com/formtapez/ZigUP). The only part that matters to me is the switching of the relay.
Looking at the code of ZigUP this part seems to do the switching:
Can this be recreated with this firmware? I tried but failed.
I do this:
I create a firmware with Device type router and Default reporting interval 60.
Save the firmware.
Load the same file with "Read settings from firmware".
Then Default reporting interval is set off and reset to 0 and device type "End device without routing"
I don't think this is the expected behaviour?
I have failed to get my CC2531 USB stick to pair as a router. I tried all the firmwares listed on this page: https://ptvo.info/cc2531-based-router-firmware-136/
I flash it using:
objcopy --gap-fill 0xFF --pad-to 0x040000 -I ihex router-cc2531-diag-usb.hex -O binary CC2531-router.bin
CCLoader_x86_64.exe 5 CC2531-router.bin 0
through my ESP8266 (as I don't have a programmer).
I also tried your configurator tool, where I left basically everything default. Still nothing.
The closest I've gotten is:
Serial port:
15:16:27.261 -> PANID:4DA3,Ch:15,Join:0
15:16:27.261 ->
15:16:27.261 -> PANID:4DA3,Ch:15,Join:0
15:16:27.261 -> PANID:7B38,Ch:25,Join:0
15:16:27.261 ->
ZHA:
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0xe8bf:1:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=62 command_id=Command.Report_Attributes>
[0xe8bf:1:0x0300] ZCL request 0x000a: [[Attribute(attrid=3, value=<TypeValue type=uint16_t, value=30138>)]]
[0xe8bf:1:0x0300] Attribute report received: current_x=30138
[0xe8bf:1:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=63 command_id=Command.Report_Attributes>
[0xe8bf:1:0x0300] ZCL request 0x000a: [[Attribute(attrid=4, value=<TypeValue type=uint16_t, value=26909>)]]
[0xe8bf:1:0x0300] Attribute report received: current_y=26909
[0xe8bf:1:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=64 command_id=Command.Report_Attributes>
[0xe8bf:1:0x0300] ZCL request 0x000a: [[Attribute(attrid=7, value=<TypeValue type=uint16_t, value=250>)]]
[0xe8bf:1:0x0300] Attribute report received: color_temperature=250
[0xe8bf:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=65 command_id=Command.Report_Attributes>
[0xe8bf:1:0x0008] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint8_t, value=128>)]]
[0xe8bf:1:0x0008] Attribute report received: current_level=128
[59583:1:0x0008]: received attribute: 0 update with value: 128
nothing ever seems to happen. Am I supposed to see the CC2531 router in ZHA, or does it just "magically" pair without any visuals?
I tried joining the Telegram, but apparently it's in Russian, and it seems like I got banned for saying hello.
I'm looking for information on how the information (inputs, outputs, ADC reads, sensors) would communicate with a device like a HA device. Would the cc2530 simply send out information at the set reporting intervals? And the end point would have to figure out the data based on the cluster it receives?
Has someone succeeded in talking to Smartthings or Hubitat and are willing to share the method / code they used?
Thanks
John
Test: configure at least 1 Input as switch as per this exemple (4 configured here)
Plug a switch between GND and Pin 23 (P00). You will receive the attribut 0x0055 on EP1 each time you change the switch.
Now read the attribut 0x0055 on EP01 cluster 0012 and the answer is wrongly formatted. Value of the attribut missing:
Status : 00 -> Ok
Attribut Type 20: which in 8Uint while the norm talks about 16bit type
Value: missing
I get the issue with the sniffer and also with my GW (Zigate).
Could you have a look ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.