Git Product home page Git Product logo

Comments (6)

itavero avatar itavero commented on May 23, 2024

Can you please include debug logs from Homebridge when it is starting up?

If the plugin can connect to your MQTT server and you have setup the correct parameters, you should at least see the Zigbee2MQTT version printed to the logs and that Zigbee2MQTT is online.

from homebridge-z2m.

danmcpherson avatar danmcpherson commented on May 23, 2024

[22/02/2023, 17:35:29] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution
[22/02/2023, 17:35:29] [HB Supervisor] Started Homebridge v1.6.0 with PID: 13417
[22/02/2023, 17:35:30] Loaded config.json with 7 accessories and 9 platforms.
[22/02/2023, 17:35:30] Loaded 9 cached accessories from cachedAccessories.
[22/02/2023, 17:35:30] ---
[22/02/2023, 17:35:30] Loaded plugin: [email protected]
[22/02/2023, 17:35:30] Registering accessory 'homebridge-adguardhome.AdGuardHome'
[22/02/2023, 17:35:30] ---
[22/02/2023, 17:35:30] Loaded plugin: [email protected]
[22/02/2023, 17:35:30] Registering platform 'homebridge-deconz.deCONZ'
[22/02/2023, 17:35:30] ---
[22/02/2023, 17:35:31] Loaded plugin: [email protected]
[22/02/2023, 17:35:31] Registering accessory 'homebridge-http-switch.HTTP-SWITCH'
[22/02/2023, 17:35:31] ---
[22/02/2023, 17:35:31] Loaded plugin: [email protected]
[22/02/2023, 17:35:31] Registering platform 'homebridge-keylights.ElgatoKeyLights'
[22/02/2023, 17:35:31] ---
[22/02/2023, 17:35:31] Loaded plugin: [email protected]
[22/02/2023, 17:35:31] Registering platform 'homebridge-network-presence.NetworkPresence'
[22/02/2023, 17:35:31] ---
[22/02/2023, 17:35:31] Disabled plugin: [email protected]
[22/02/2023, 17:35:31] ---
[22/02/2023, 17:35:33] Loaded plugin: [email protected]
[22/02/2023, 17:35:33] Registering platform 'homebridge-ring.Ring'
[22/02/2023, 17:35:33] ---
[22/02/2023, 17:35:33] Loaded plugin: [email protected]
[22/02/2023, 17:35:33] Registering platform 'homebridge-tahoma.Tahoma'
[22/02/2023, 17:35:33] ---
[22/02/2023, 17:35:34] Disabled plugin: [email protected]
[22/02/2023, 17:35:34] ---
[22/02/2023, 17:35:34] Loaded plugin: [email protected]
[22/02/2023, 17:35:34] Registering platform 'homebridge-tuya-platform.TuyaPlatform'
[22/02/2023, 17:35:34] ---
[22/02/2023, 17:35:34] Loaded plugin: [email protected]
[22/02/2023, 17:35:34] Registering accessory 'homebridge-twilio.Twilio'
[22/02/2023, 17:35:34] ---
[22/02/2023, 17:35:35] Loaded plugin: [email protected]
[22/02/2023, 17:35:35] Registering platform 'homebridge-z2m.zigbee2mqtt'
[22/02/2023, 17:35:35] ---
[22/02/2023, 17:35:35] Loading 9 platforms...
[22/02/2023, 17:35:35] [Ring] Initializing Ring platform...
[22/02/2023, 17:35:35] [Ring] Initializing child bridge 0E:47:A2:84:3A:3F
[22/02/2023, 17:35:35] [deCONZ] Initializing deCONZ platform...
[22/02/2023, 17:35:35] [deCONZ] Initializing child bridge 0E:C3:BB:0B:D6:C0
[22/02/2023, 17:35:35] Ignoring config for the platform "NotifyEvents" in your config.json as the plugin "homebridge-notifyevents" has been disabled.
[22/02/2023, 17:35:35] [Elgato Key Lights] Initializing ElgatoKeyLights platform...
[22/02/2023, 17:35:35] [NetworkPresence] Initializing NetworkPresence platform...
[22/02/2023, 17:35:35] [TuyaPlatform] Initializing TuyaPlatform platform...
[22/02/2023, 17:35:35] [TaHoma] Initializing Tahoma platform...
[22/02/2023, 17:35:35] [TaHoma] Initializing child bridge 0E:9A:A0:D4:5D:E1
[22/02/2023, 17:35:35] [zigbee2mqtt] Initializing zigbee2mqtt platform...
[22/02/2023, 17:35:35] [zigbee2mqtt] Initializing child bridge 0E:BC:2B:6D:CA:C2
[22/02/2023, 17:35:35] Loading 7 accessories...
[22/02/2023, 17:35:35] [Toggle Front Gate] Initializing Twilio accessory...
[22/02/2023, 17:35:35] [AdGuard] Initializing AdGuardHome accessory...
[22/02/2023, 17:35:35] [AdGuard] Finished initializing!
[22/02/2023, 17:35:35] Ignoring config for the accessory "Tesla" in your config.json as the plugin "homebridge-tesla" has been disabled.
[22/02/2023, 17:35:35] [DS Chill] Initializing HTTP-SWITCH accessory...
[22/02/2023, 17:35:35] [DS Chill] Switch successfully configured...
[22/02/2023, 17:35:35] [Sleep Elle] Initializing HTTP-SWITCH accessory...
[22/02/2023, 17:35:35] [Sleep Elle] Switch successfully configured...
[22/02/2023, 17:35:35] [Sleep Flo] Initializing HTTP-SWITCH accessory...
[22/02/2023, 17:35:35] [Sleep Flo] Switch successfully configured...
[22/02/2023, 17:35:35] [Stop All Sonos] Initializing HTTP-SWITCH accessory...
[22/02/2023, 17:35:35] [Stop All Sonos] Switch successfully configured...
[22/02/2023, 17:35:35] [Elgato Key Lights] Loading accessory from cache: Elgato Key Light Air
[22/02/2023, 17:35:35] [NetworkPresence] Initiating Network Scanner...
Setup Payload:
X-HM://002473RO29UYP
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

┌────────────┐     
│ 439-59-762 │     
└────────────┘     

[22/02/2023, 17:35:36] [Elgato Key Lights] Discovered accessory on network: Elgato Key Light Air
[22/02/2023, 17:35:36] Homebridge v1.6.0 (HAP v0.11.0) (Homebridge A1AA) is running on port 51540.
[22/02/2023, 17:35:36] [Elgato Key Lights] Restoring existing accessory from cache: Elgato Key Light Air as Elgato Key Light Air
[22/02/2023, 17:35:37] [deCONZ] Launched child bridge with PID 13429
[22/02/2023, 17:35:37] [homebridge-z2m] Launched child bridge with PID 13441
[22/02/2023, 17:35:37] [TaHoma] Launched child bridge with PID 13435
[22/02/2023, 17:35:38] [AdGuard] Current state: 🟡 ON
[22/02/2023, 17:35:38] [homebridge-ring] Launched child bridge with PID 13428
[22/02/2023, 17:35:38] Registering platform 'homebridge-tahoma.Tahoma'
[22/02/2023, 17:35:38] [TaHoma] Loaded homebridge-tahoma v2.2.54 child bridge successfully
[22/02/2023, 17:35:38] Registering platform 'homebridge-deconz.deCONZ'
[22/02/2023, 17:35:38] [deCONZ] Loaded homebridge-deconz v0.1.7 child bridge successfully
[22/02/2023, 17:35:38] Registering platform 'homebridge-z2m.zigbee2mqtt'
[22/02/2023, 17:35:38] [homebridge-z2m] Loaded homebridge-z2m v1.9.2 child bridge successfully
[22/02/2023, 17:35:38] Loaded 1 cached accessories from cachedAccessories.0E9AA0D45DE1.
[22/02/2023, 17:35:38] Loaded 0 cached accessories from cachedAccessories.0EBC2B6DCAC2.
[22/02/2023, 17:35:38] [homebridge-z2m] Connecting to MQTT server at mqtt://localhost:1883
[22/02/2023, 17:35:39] Loaded 24 cached accessories from cachedAccessories.0EC3BB0BD6C0.
[22/02/2023, 17:35:39] Homebridge v1.6.0 (HAP v0.11.0) (TaHoma) is running on port 50241.
[22/02/2023, 17:35:39] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-z2m) is running on port 50412.
[22/02/2023, 17:35:39] [AdGuard] Current state: 🟡 ON
[22/02/2023, 17:35:39] [deCONZ] homebridge-deconz v0.1.7, node v18.14.2, homebridge v1.6.0, homebridge-lib v6.3.10
[22/02/2023, 17:35:39] [deCONZ] warning: recommended version: node v18.14.1 LTS
[22/02/2023, 17:35:39] [deCONZ] Phoscon-GW: dresden elektronik deCONZ / ConBee II gateway v2.20.1
[22/02/2023, 17:35:39] [deCONZ] Phoscon-GW: warning: recommended version: deCONZ v2.19.3
[22/02/2023, 17:35:39] [deCONZ] Daylight: dresden elektronik Daylight v2.20.1 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Pantry MD: Philips SML001 v6.1.1.27575 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Pantry MD: Current Temperature: set to 16.9°C (from 16.8°C)
[22/02/2023, 17:35:39] [deCONZ] Downstairs Toilet MD: Philips SML001 v6.1.1.27575 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Stairs and Square: EcoDim BV EcoDim-Zigbee 3.0 v1.01 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] TV Cabinet: Signify Netherlands B.V. LWB010 v1.88.1 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Guest House 1: Signify Netherlands B.V. LWV001 v1.93.11 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Guest House 2: Signify Netherlands B.V. LWV001 v1.93.11 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Outside: EcoDim BV EcoDim-Zigbee 3.0 v1.01 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Pantry: EcoDim BV EcoDim-Zigbee 3.0 v1.01 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Living Room: EcoDim BV EcoDim-Zigbee 3.0 v1.01 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Pool Entry: EcoDim BV EcoDim-Zigbee 3.0 v1.01 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Entry: EcoDim BV EcoDim-Zigbee 3.0 v1.01 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Lennons Room MD: Philips SML001 v6.1.1.27575 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Toilet Upstairs MD: Philips SML001 v6.1.1.27575 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Kids Corner MD: Philips SML001 v6.1.1.27575 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Elles Room MD: Philips SML001 v6.1.1.27575 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Square Downstairs MD: Philips SML001 v6.1.1.27575 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Pantry Door: Signify Netherlands B.V. LWV001 v1.90.1 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Couch: Signify Netherlands B.V. LWB010 v1.88.1 (1 resources)
[22/02/2023, 17:35:39] [deCONZ] Attic MD: Signify Netherlands B.V. SML003 v2.53.6 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Attic MD: Current Ambient Light Level: set to 4.7 lux (from 3.9 lux)
[22/02/2023, 17:35:39] [deCONZ] Main Bedroom: Signify Netherlands B.V. SML003 v2.53.6 (3 resources)
[22/02/2023, 17:35:39] [deCONZ] Xmas Lights: OSRAM Plug 01 vV1.05.09 (1 resources)
[22/02/2023, 17:35:40] [deCONZ] Smart Button: Philips ROM001 v2.30.0_r30777 (1 resources)
[22/02/2023, 17:35:40] Homebridge v1.6.0 (HAP v0.11.0) (deCONZ) is running on port 46516.
[22/02/2023, 17:35:40] [deCONZ] hardware: Raspberry Pi 4B 1.2 (2GB)
[22/02/2023, 17:35:40] [deCONZ] os: Raspbian GNU/Linux 11 (bullseye)
[22/02/2023, 17:35:40] [deCONZ] restored 24 accessories from cache
[22/02/2023, 17:35:40] [deCONZ] ui server: listening on http://127.0.0.1:38777/
[22/02/2023, 17:35:41] [AdGuard] Current state: 🟡 ON
[22/02/2023, 17:35:41] Registering platform 'homebridge-ring.Ring'
[22/02/2023, 17:35:41] [homebridge-ring] Loaded homebridge-ring v11.7.1 child bridge successfully
[22/02/2023, 17:35:41] Loaded 19 cached accessories from cachedAccessories.0E47A2843A3F.
[22/02/2023, 17:35:41] [deCONZ] Phoscon-GW: websocket connected to ws://192.168.10.80:4531
[22/02/2023, 17:35:41] [homebridge-ring] Configuring cached accessory bbc806bf-2e78-415a-ac7b-e7b9e4363b40 Base Station
[22/02/2023, 17:35:41] [homebridge-ring] Configuring cached accessory 21e61602-da8f-4ec4-bab7-d0dd28fe92d2 Alarm
[22/02/2023, 17:35:41] [homebridge-ring] Configuring cached accessory d422d105-556b-44fe-b015-35946cf89228 Panty Door
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory 53fe2d99-5771-4aed-a65f-b04734f27426 Entrance hall Keypad
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory d395826c-d000-4514-8de7-c0667ff11d4f Dining Room RMD
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory 08940874-1e94-403b-9678-8d0e519c4895 Gate Sensor
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory 170458c5-b84f-45ab-8b79-861e0c14b4f5 Entry RMD
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory f597c1b6-77a2-4356-8729-b6c485863c23 Pool Entry RMD
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory ad982fc5-f1c6-4c7a-be1c-b9ef42ac0dd5 Dining Room GS
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory 64efac0e-c475-4388-8b15-56373922a752 Kitchen RMD
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory 637eb4c5-5c8a-4a1c-b25a-8201c5916d28 Front Door
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory b921f5bc-7706-4c79-9e5d-e218d070b075 Front
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory c61a558d-3717-49c0-9a73-49dda4e8d3f0 Stickup
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory 0dd5215a-649c-40f9-8eec-59cc6e21b001 Guest House
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory c3e98dcb-c39b-4e02-aa3e-e2b87dc576b3 Back Door
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory 67cac70d-4d86-4d1b-831b-7a234b008981 Upstairs Chime
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory cd0074c5-19cb-43c7-b27c-a864be5145b6 Downstairs Chime
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory d0219f29-a906-471b-9395-5092b0eb5d25 Living Room GB
[22/02/2023, 17:35:42] [homebridge-ring] Configuring cached accessory d49cb927-c705-4bcb-bbcb-235432da364e Office GB
[22/02/2023, 17:35:42] [deCONZ] Pantry MD: Current Temperature: set to 16.8°C (from 16.9°C)
[22/02/2023, 17:35:42] [deCONZ] Downstairs Toilet MD: Current Temperature: set to 19.9°C (from 19.7°C)
[22/02/2023, 17:35:42] [deCONZ] Elles Room MD: Motion Detected: set to true (from false)
[22/02/2023, 17:35:42] [deCONZ] Attic MD: Current Ambient Light Level: set to 3.9 lux (from 4.7 lux)
[22/02/2023, 17:35:42] [deCONZ] Attic MD: Current Temperature: set to 19°C (from 18.8°C)
[22/02/2023, 17:35:42] [deCONZ] 1 gateways
[22/02/2023, 17:35:42] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-ring) is running on port 48981.
[22/02/2023, 17:35:42] [AdGuard] Current state: 🟡 ON
[22/02/2023, 17:35:43] [deCONZ] created debug dump file /var/lib/homebridge/homebridge-deconz.json.gz
[22/02/2023, 17:35:44] [homebridge-ring] Found the following locations:
[22/02/2023, 17:35:44] [homebridge-ring] locationId: ec07cf50-5737-4183-8735-e9d0e039e82f - Obdam
[22/02/2023, 17:35:44] [homebridge-ring] Creating location socket.io connection - Obdam
[22/02/2023, 17:35:45] [homebridge-ring] Ring connected to socket.io server
[22/02/2023, 17:35:46] [AdGuard] Current state: 🟡 ON
[22/02/2023, 17:35:47] [homebridge-ring] Configuring 5 cameras and 29 devices for location "Obdam" - locationId: ec07cf50-5737-4183-8735-e9d0e039e82f
[22/02/2023, 17:35:47] [homebridge-ring] Hidden accessory d6d452a9-2cc8-4fa2-a9f8-01651599049c adapter.sidewalk Sidewalk Adapter
[22/02/2023, 17:35:47] [homebridge-ring] Hidden accessory a15ec9c7-66b7-4df7-b32c-13b6d633d3be adapter.sidewalk Sidewalk Adapter
[22/02/2023, 17:35:47] [homebridge-ring] Hidden accessory 427e5104-a55f-487a-a5d9-101e4b0d4726 security-remote Main Bedroom PB
[22/02/2023, 17:35:48] [deCONZ] Elles Room MD: Motion Detected: set to false (from true)
[22/02/2023, 17:35:49] [TaHoma] No gateway found on your network: Search timeout after 10 seconds
[22/02/2023, 17:35:49] [TaHoma] Please check gateway pin number and make sur developer mode is activated.
[22/02/2023, 17:35:49] [TaHoma] For more information: https://developer.somfy.com/developer-mode
[22/02/2023, 17:35:49] [TaHoma] Configure device Living Room Blinds
[22/02/2023, 17:35:49] [TaHoma] Screen > UpDownCellularScreen
[22/02/2023, 17:35:55] [deCONZ] Toilet Upstairs MD: Current Ambient Light Level: set to 17.3 lux (from 15.2 lux)
[22/02/2023, 17:35:55] [deCONZ] Toilet Upstairs MD: Dark: set to false (from true)
[22/02/2023, 17:36:01] [deCONZ] Pantry: On: changed to false (from true)

I'm having trouble getting the service to run via systemcontrol, so it's not running at this point. If I run it, via terminal, and then restart the child bridge I get this:

[22/02/2023, 17:37:47] [homebridge-z2m] Restarting child bridge...
[22/02/2023, 17:37:47] Got SIGTERM, shutting down child bridge process...
[22/02/2023, 17:37:52] [homebridge-z2m] Child bridge process ended
[22/02/2023, 17:37:52] [homebridge-z2m] Process Ended. Code: 143, Signal: null
[22/02/2023, 17:37:59] [AdGuard] Current state: 🟡 ON
[22/02/2023, 17:37:59] [homebridge-z2m] Restarting Process...
[22/02/2023, 17:38:01] [homebridge-z2m] Launched child bridge with PID 14136
[22/02/2023, 17:38:01] Registering platform 'homebridge-z2m.zigbee2mqtt'
[22/02/2023, 17:38:01] [homebridge-z2m] Loaded homebridge-z2m v1.9.2 child bridge successfully
[22/02/2023, 17:38:01] Loaded 0 cached accessories from cachedAccessories.0EBC2B6DCAC2.
[22/02/2023, 17:38:01] [homebridge-z2m] Connecting to MQTT server at mqtt://localhost:1883
[22/02/2023, 17:38:01] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-z2m) is running on port 50412.

from homebridge-z2m.

danmcpherson avatar danmcpherson commented on May 23, 2024

[22/02/2023, 17:40:01] [homebridge-z2m] Restarting Process...
[22/02/2023, 17:40:03] [homebridge-z2m] Launched child bridge with PID 15133
[22/02/2023, 17:40:03] Registering platform 'homebridge-z2m.zigbee2mqtt'
[22/02/2023, 17:40:03] [homebridge-z2m] Loaded homebridge-z2m v1.9.2 child bridge successfully
[22/02/2023, 17:40:03] Loaded 0 cached accessories from cachedAccessories.0EBC2B6DCAC2.
[22/02/2023, 17:40:03] [homebridge-z2m] Changing default value for exclude from false to undefined.
[22/02/2023, 17:40:03] [homebridge-z2m] Default device config: {}
[22/02/2023, 17:40:03] [homebridge-z2m] Connecting to MQTT server at mqtt://localhost:1883
[22/02/2023, 17:40:03] [homebridge-z2m] Using MQTT keepalive: 60
[22/02/2023, 17:40:03] [homebridge-z2m] MQTT reject_unauthorized set false, ignoring certificate warnings.
[22/02/2023, 17:40:03] Publishing bridge accessory (name: homebridge-z2m, publishInfo: {
username: '0E:BC:2B:6D:CA:C2',
port: 50412,
pincode: '--**',
category: 2,
bind: undefined,
mdns: undefined,
addIdentifyingMaterial: true,
advertiser: 'avahi'
}).
[22/02/2023, 17:40:03] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-z2m) is running on port 50412.

from homebridge-z2m.

itavero avatar itavero commented on May 23, 2024

It seems that it never connects to the MQTT server (otherwise I would have expected more log entries from the plugin), have you checked that it is reachable from the environment where Homebridge is running?

from homebridge-z2m.

danmcpherson avatar danmcpherson commented on May 23, 2024

Will look into that, it’s all on the same machine though. I don’t see any issues on the Zigbee2MQTT side though.

from homebridge-z2m.

danmcpherson avatar danmcpherson commented on May 23, 2024

I swapped to a Docker based approach, and now everything looks to be working as it should. Thanks,

from homebridge-z2m.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.