Adding separate configuration for wiz vs hue lights
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/tag Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/tag Build is passing
				
			This commit is contained in:
		@@ -75,7 +75,7 @@ steps:
 | 
			
		||||
              from_secret: ssh_key
 | 
			
		||||
          port: 22
 | 
			
		||||
          script:
 | 
			
		||||
              - rm -r /home/$SSH_USER/.npm-global/lib/node_modules/@watsonb8/homebridge-flux
 | 
			
		||||
              - rm -r /home/$SSH_USER/.npm-global/lib/node_modules/@watsonb8/homebridge-flux || true
 | 
			
		||||
      when:
 | 
			
		||||
          event:
 | 
			
		||||
              - tag
 | 
			
		||||
@@ -92,7 +92,7 @@ steps:
 | 
			
		||||
              from_secret: ssh_key
 | 
			
		||||
          port: 22
 | 
			
		||||
          script:
 | 
			
		||||
              - npm install -g @watsonb8/homebridge-flux --registry https://gitea.watsonlabs.net
 | 
			
		||||
              - npm install -g @watsonb8/homebridge-flux
 | 
			
		||||
      when:
 | 
			
		||||
          event:
 | 
			
		||||
              - tag
 | 
			
		||||
 
 | 
			
		||||
@@ -102,18 +102,33 @@
 | 
			
		||||
                "type": "boolean",
 | 
			
		||||
                "required": true
 | 
			
		||||
            },
 | 
			
		||||
            "ceilingColorTemp": {
 | 
			
		||||
                "title": "Ceiling Color Temperature",
 | 
			
		||||
            "hueCeilingColorTemp": {
 | 
			
		||||
                "title": "Hue Ceiling Color Temperature",
 | 
			
		||||
                "type": "number",
 | 
			
		||||
                "required": true
 | 
			
		||||
            },
 | 
			
		||||
            "sunsetColorTemp": {
 | 
			
		||||
                "title": "Sunset Color Temperature",
 | 
			
		||||
            "hueSunsetColorTemp": {
 | 
			
		||||
                "title": "Hue Sunset Color Temperature",
 | 
			
		||||
                "type": "number",
 | 
			
		||||
                "required": true
 | 
			
		||||
            },
 | 
			
		||||
            "floorColorTemp": {
 | 
			
		||||
                "title": "Floor Color Temperature",
 | 
			
		||||
            "hueFloorColorTemp": {
 | 
			
		||||
                "title": "Hue Floor Color Temperature",
 | 
			
		||||
                "type": "number",
 | 
			
		||||
                "required": true
 | 
			
		||||
            },
 | 
			
		||||
            "wizCeilingColorTemp": {
 | 
			
		||||
                "title": "Wiz Ceiling Color Temperature",
 | 
			
		||||
                "type": "number",
 | 
			
		||||
                "required": true
 | 
			
		||||
            },
 | 
			
		||||
            "wizSunsetColorTemp": {
 | 
			
		||||
                "title": "Wiz Sunset Color Temperature",
 | 
			
		||||
                "type": "number",
 | 
			
		||||
                "required": true
 | 
			
		||||
            },
 | 
			
		||||
            "wizFloorColorTemp": {
 | 
			
		||||
                "title": "Wiz Floor Color Temperature",
 | 
			
		||||
                "type": "number",
 | 
			
		||||
                "required": true
 | 
			
		||||
            },
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1382
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1382
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@watsonb8/homebridge-flux",
 | 
			
		||||
    "version": "1.1.4",
 | 
			
		||||
    "version": "1.2.0",
 | 
			
		||||
    "description": "",
 | 
			
		||||
    "main": "bin/index.js",
 | 
			
		||||
    "publishConfig": {
 | 
			
		||||
@@ -34,7 +34,7 @@
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@types/node-cron": "^2.0.3",
 | 
			
		||||
        "@types/suncalc": "^1.8.0",
 | 
			
		||||
        "@watsonb8/wiz-lib": "^1.0.1-e1c84.0",
 | 
			
		||||
        "@watsonb8/wiz-lib": "^1.0.1-ae175.0",
 | 
			
		||||
        "node-cron": "^2.0.3",
 | 
			
		||||
        "node-hue-api": "^4.0.5",
 | 
			
		||||
        "suncalc": "^1.8.0"
 | 
			
		||||
 
 | 
			
		||||
@@ -235,35 +235,56 @@ export class FluxAccessory {
 | 
			
		||||
            this._times.sunrise.getTime() + 1 * SECONDS_IN_DAY
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        const startColorTemp = this._config.ceilingColorTemp ?? 4000;
 | 
			
		||||
        const sunsetColorTemp = this._config.sunsetColorTemp ?? 2800;
 | 
			
		||||
        const floorColorTemp = this._config.floorColorTemp ?? 1900;
 | 
			
		||||
        const hueStartColorTemp = this._config.hueCeilingColorTemp ?? 4000;
 | 
			
		||||
        const hueSunsetColorTemp = this._config.hueSunsetColorTemp ?? 2800;
 | 
			
		||||
        const hueFloorColorTemp = this._config.hueFloorColorTemp ?? 1900;
 | 
			
		||||
 | 
			
		||||
        let newTemp = this._config.ceilingColorTemp;
 | 
			
		||||
        const wizStartColorTemp = this._config.wizCeilingColorTemp ?? 4000;
 | 
			
		||||
        const wizSunsetColorTemp = this._config.wizSunsetColorTemp ?? 2800;
 | 
			
		||||
        const wizFloorColorTemp = this._config.wizFloorColorTemp ?? 1900;
 | 
			
		||||
 | 
			
		||||
        let newHueTemp = this._config.hueCeilingColorTemp;
 | 
			
		||||
        let newWizTemp = this._config.wizCeilingColorTemp;
 | 
			
		||||
 | 
			
		||||
        if (start < now && now < sunsetStart) {
 | 
			
		||||
            newTemp = this.getTempOffset(
 | 
			
		||||
                startColorTemp,
 | 
			
		||||
                sunsetColorTemp,
 | 
			
		||||
            newHueTemp = this.getTempOffset(
 | 
			
		||||
                hueStartColorTemp,
 | 
			
		||||
                hueSunsetColorTemp,
 | 
			
		||||
                start,
 | 
			
		||||
                sunsetStart
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
            newWizTemp = this.getTempOffset(
 | 
			
		||||
                wizStartColorTemp,
 | 
			
		||||
                wizSunsetColorTemp,
 | 
			
		||||
                start,
 | 
			
		||||
                sunsetStart
 | 
			
		||||
            );
 | 
			
		||||
        } else if (sunsetStart < now && now < sunsetEnd) {
 | 
			
		||||
            newTemp = this._config.sunsetColorTemp;
 | 
			
		||||
            newHueTemp = this._config.hueSunsetColorTemp;
 | 
			
		||||
            newWizTemp = this._config.wizSunsetColorTemp;
 | 
			
		||||
        } else if (sunsetEnd < now && now < nightStart) {
 | 
			
		||||
            newTemp = this.getTempOffset(
 | 
			
		||||
                sunsetColorTemp,
 | 
			
		||||
                floorColorTemp,
 | 
			
		||||
            newHueTemp = this.getTempOffset(
 | 
			
		||||
                hueSunsetColorTemp,
 | 
			
		||||
                hueFloorColorTemp,
 | 
			
		||||
                sunsetEnd,
 | 
			
		||||
                nightStart
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
            newWizTemp = this.getTempOffset(
 | 
			
		||||
                wizSunsetColorTemp,
 | 
			
		||||
                wizFloorColorTemp,
 | 
			
		||||
                sunsetEnd,
 | 
			
		||||
                nightStart
 | 
			
		||||
            );
 | 
			
		||||
        } else if (nightStart < now && now < sunrise) {
 | 
			
		||||
            newTemp = this._config.floorColorTemp;
 | 
			
		||||
            newHueTemp = this._config.hueFloorColorTemp;
 | 
			
		||||
            newWizTemp = this._config.wizFloorColorTemp;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Set RGB
 | 
			
		||||
        this._hueRGB = colorTempToRgb(newTemp);
 | 
			
		||||
        this._wizRGB = colorTemperature2rgb(newTemp);
 | 
			
		||||
        this._hueRGB = colorTempToRgb(newHueTemp);
 | 
			
		||||
        this._wizRGB = colorTemperature2rgb(newWizTemp);
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private scheduleLights = async (): Promise<void> => {
 | 
			
		||||
 
 | 
			
		||||
@@ -34,17 +34,32 @@ export interface IConfig {
 | 
			
		||||
    /**
 | 
			
		||||
     * The color temperature at the start of sunset transition
 | 
			
		||||
     */
 | 
			
		||||
    ceilingColorTemp: number;
 | 
			
		||||
    hueCeilingColorTemp: number;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The color temp during the night
 | 
			
		||||
     */
 | 
			
		||||
    floorColorTemp: number;
 | 
			
		||||
    hueFloorColorTemp: number;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The color temp at sunet
 | 
			
		||||
     */
 | 
			
		||||
    sunsetColorTemp: number;
 | 
			
		||||
    hueSunsetColorTemp: number;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The color temperature at the start of sunset transition
 | 
			
		||||
     */
 | 
			
		||||
    wizCeilingColorTemp: number;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The color temp during the night
 | 
			
		||||
     */
 | 
			
		||||
    wizFloorColorTemp: number;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The color temp at sunet
 | 
			
		||||
     */
 | 
			
		||||
    wizSunsetColorTemp: number;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The time in milliseconds the lights should remain at sunset temperature.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user