A custom Home Assistant integration for the Pego NECTOR200 Temperature Controller, providing comprehensive control and monitoring capabilities for your refrigeration system.
- Climate Control: Full temperature control with setpoint adjustment
- Real-time Monitoring: Current temperature and setpoint sensors
- Switch Controls: Light and defrost cycle management
- Status Monitoring: Alarm and recording status indicators
- Standby Mode: Energy-saving standby functionality
- Session Management: Automatic authentication and keepalive handling
- Local Polling: Direct communication with your NECTOR200 device
- Home Assistant 2023.1.0 or newer
- Pego NECTOR200 Temperature Controller with network connectivity
- Network access to the NECTOR200 device
- PA parameter value from your NECTOR200 device (used as password)
- Download the
nector200folder from this repository - Copy it to your Home Assistant configuration directory:
<config_directory>/custom_components/nector200/ - Restart Home Assistant
- Navigate to your custom_components directory:
cd /config/custom_components - Clone this repository:
git clone https://github.com/daggy72/nector200.git
- Restart Home Assistant
The password for the integration is the PA parameter value from your NECTOR200 device:
- Access your NECTOR200 device physically
- Navigate to the parameters menu
- Find parameter PA (password parameter)
- Note the value (0-999) - this is your password
- In Home Assistant, go to Settings → Devices & Services
- Click the Add Integration button
- Search for "NECTOR200"
- Enter the required information:
- Host: IP address of your NECTOR200 device
- Username: Device username (default: "admin")
- Password: PA parameter value from your device
Once configured, the integration creates the following entities:
- WH1 Temperature Control: Main climate control entity
- Supports cooling mode and standby
- Temperature setpoint adjustment (0.1°C precision)
- Current temperature display
- Temperature range: -50°C to +50°C
- WH1 Temperature: Current temperature reading
- WH1 Setpoint: Current temperature setpoint
- WH1 Alarm: Alarm status (On/Off)
- WH1 Recording: Recording status (On/Off)
- WH1 Light: Control the unit's light
- WH1 Defrost: Manually trigger defrost cycle
The integration exposes readback-verified NECTOR profiles for the warehouse cooling cell:
cooling_guard: disables heat output, uses cold mode, and derives NECTOR setpoint/differential from the HA maximum temperature helper.heating_guard: enables heat output onAU2=6, uses hot mode, and derives NECTOR setpoint/differential from the HA minimum temperature helper.
The integration provides the nector200.apply_profile service and diagnostic sensors. The recommended operator interface is created in Home Assistant configuration with these helpers:
input_number.warehouse_cell_min_temperatureinput_number.warehouse_cell_max_temperatureinput_boolean.warehouse_cell_manual_hold
The integration also exposes S3 probe temperature, profile diagnostics (WH1 Last Applied Profile, WH1 Last Profile Write, WH1 Last Profile Error), and output-state binary sensors for compressor, defrost, fan, light output, alarm relay, auxiliary relay, and hot resistance. The last-applied profile sensor records the most recent profile successfully written by this integration; it is not inferred live from the controller parameters.
Profile writes intentionally leave the controller alarm thresholds A1 and A2 unchanged. They are available in parameter dumps for diagnostics, but the warehouse min/max guard only needs AU2, mOd, Set, and r0.
After deployment and a Home Assistant restart, verify read-only behavior first:
- Call
nector200.dump_parameters. - Confirm the Home Assistant log includes
Set,r0,mOd, andAU2. - Confirm
sensor.wh1_temperature,sensor.wh1_probe_s3_temperature, and the output binary sensors update.
Only after read-only verification, test one controlled profile write with nector200.apply_profile and confirm WH1 Last Applied Profile, WH1 Last Profile Write, WH1 Last Profile Error, and parameter readback. For the default warehouse limits, cooling_guard should read back AU2=0, mOd=0, Set=23.8 C, and r0=0.2 C.
automation:
- alias: "Refrigeration High Temperature Alert"
trigger:
- platform: numeric_state
entity_id: sensor.wh1_temperature
above: 10
for:
minutes: 5
action:
- service: notify.mobile_app
data:
message: "WH1 temperature is above 10°C!"type: thermostat
entity: climate.wh1_temperature_control
name: Wine Cellar# Set temperature to 5°C
service: climate.set_temperature
target:
entity_id: climate.wh1_temperature_control
data:
temperature: 5.0
# Turn on the light
service: switch.turn_on
target:
entity_id: switch.wh1_light
# Trigger defrost cycle
service: switch.turn_on
target:
entity_id: switch.wh1_defrostThe integration implements the NECTOR200 HTTP protocol with:
- Authentication: Session-based login with automatic keepalive
- Status Updates: Polled every 30 seconds
- Session Management: Automatic re-authentication when needed
- Control Commands: Toggle-based controls for switches
- Parameter Updates: Incremental temperature adjustments
- Verify the device IP address is correct
- Ensure the device is accessible on your network
- Check that no other connections are active (NECTOR200 has limited concurrent sessions)
- Verify the PA parameter value is correct
- Close any web browser connections to the device
- Power cycle the NECTOR200 device
- Wait 2-3 minutes for sessions to timeout
- Check the device's web interface is accessible
- Verify network connectivity
- Review Home Assistant logs for error messages
- The password must be the PA parameter value (0-999)
- The integration automatically formats it correctly
- Common default values: 0, 30, 100, 111, 123
- Tested with firmware.bin Rev. 4
- HTTP protocol version: HTTP_NECTOR_01-21
/log.cgi- Authentication/alive.cgi- Session keepalive/ajax_data.cgi- Status polling/btnfunct.cgi- Control commands/pdatamod.cgi- Parameter modifications
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you encounter issues:
- Enable debug logging for the integration
- Check the Home Assistant logs
- Open an issue on GitHub with:
- Home Assistant version
- NECTOR200 firmware version
- Error messages from logs
- Steps to reproduce
Dagmar - @daggy72
This project is licensed under the MIT License - see the LICENSE file for details.
- Home Assistant Community
- Pego for the NECTOR200 device and protocol documentation