Closed balloob closed 5 years ago
The documentation update is a separate discussion which should probably be done in that repo. Migrating the docs for an integration from many platform pages into the component page is under way. But it doesn't scale for large integrations that need details for their platforms. See eg https://github.com/home-assistant/home-assistant.io/pull/8593.
It won't be necessary to merge all the docs, as long as we just treat the component as an entrypoint to the docs for that integration. The page itself will actually show its platforms.
don't laugh at my janky modern js skills
script to update component labels:
const Octokit = require('@octokit/rest')
const octokit = new Octokit({
auth: 'token TOKEN_HERE'
});
const options = octokit.issues.listLabelsForRepo.endpoint.merge({
owner: 'home-assistant',
repo: 'home-assistant',
per_page: 100,
})
octokit.paginate(options)
.then(data => {
data.forEach(existing_label => {
if(existing_label.name.indexOf('component: ') !== -1) {
console.log('rename', existing_label.name, 'to', existing_label.name.replace('component: ', 'integration: '));
octokit.issues.updateLabel({
owner: 'home-assistant',
repo: 'home-assistant',
current_name: existing_label.name,
name: existing_label.name.replace('component: ', 'integration: '),
}).then(updated_label => {
console.log('Updated', existing_label.name, 'to', updated_label.name);
})
}
});
});
script to update platform labels:
const Octokit = require('@octokit/rest')
const octokit = new Octokit({
auth: 'token TOKEN_HERE'
});
const options = octokit.pulls.list.endpoint.merge({
owner: 'home-assistant',
repo: 'home-assistant',
state: 'open',
per_page: 100,
})
octokit.paginate(options).then(data => {
data.forEach(pull_request => {
var needsLabelUpdate = false;
var newLabels = [];
pull_request.labels.forEach(label => {
if(label.name.indexOf('platform: ') !== -1) {
needsLabelUpdate = true;
var splitName = label.name.split('.');
label.name = 'integration: '+splitName[1];
}
newLabels.push(label.name);
});
if(needsLabelUpdate) {
console.log('newLabels', pull_request.number, newLabels);
octokit.issues.update({
owner: 'home-assistant',
repo: 'home-assistant',
number: pull_request.number,
labels: newLabels,
}).then(({data, headers, status}) => {
console.log('Updated labels for PR', data.number);
})
}
});
});
Here's one related helpful script to get a detailed breakdown of label usage in a repo. It output these stats.
const graphql = require('@octokit/graphql').defaults({
headers: {
authorization: `token TOKEN_HERE`
}
})
async function getCounts(owner, repoName, labelMap, cursor){
if(!labelMap) labelMap = {};
const labelsWithCursor = await graphql(`query labelsWithCursor($owner: String!, $repoName: String! $after: String = null) {
repository(owner:$owner, name:$repoName) {
labels(first: 100, after:$after) {
edges {
cursor
node {
name
openIssues: issues(states: [OPEN]) {
totalCount
}
closedIssues: issues(states: [CLOSED]) {
totalCount
}
openPRs: pullRequests(states: [OPEN]) {
totalCount
}
mergedPRs: pullRequests(states: [MERGED]) {
totalCount
}
closedPRs: pullRequests(states: [CLOSED]) {
totalCount
}
}
}
}
}
}`, {
owner: owner,
repoName: repoName,
after: cursor
});
labelsWithCursor.repository.labels.edges.forEach(edge => {
if(!labelMap[edge.node.name]) {
labelMap[edge.node.name] = {
'Open Issues': edge.node.openIssues.totalCount,
'Closed Issues': edge.node.closedIssues.totalCount,
'Open Pull Requests': edge.node.openPRs.totalCount,
'Merged Pull Requests': edge.node.mergedPRs.totalCount,
'Closed Pull Requests': edge.node.closedPRs.totalCount
};
}
labelMap[edge.node.name]['Open Issues'] = labelMap[edge.node.name]['Open Issues'] + edge.node.openIssues.totalCount;
labelMap[edge.node.name]['Closed Issues'] = labelMap[edge.node.name]['Closed Issues'] + edge.node.closedIssues.totalCount;
labelMap[edge.node.name]['Open Pull Requests'] = labelMap[edge.node.name]['Open Pull Requests'] + edge.node.openPRs.totalCount;
labelMap[edge.node.name]['Merged Pull Requests'] = labelMap[edge.node.name]['Merged Pull Requests'] + edge.node.mergedPRs.totalCount;
labelMap[edge.node.name]['Closed Pull Requests'] = labelMap[edge.node.name]['Closed Pull Requests'] + edge.node.closedPRs.totalCount;
});
var lastElm = labelsWithCursor.repository.labels.edges.pop();
if(!lastElm) {
return labelMap;
}
return await getCounts(owner, repoName, labelMap, lastElm.cursor);
};
const start = async function(){
const labelMap = await getCounts("home-assistant", "home-assistant");
console.log(JSON.stringify(labelMap));
}
start();
List of broken labels that need fixing:
Choose one to keep:
Ready for review
or ready-for-review
Hopefully final list of labels after migration is completed, please point out any that should be cleaned up (or even better, do it yourself):
almost-done
async
auth
auto-closed
breaking change
bug
by-core-dev
cherry-picked
cla-error
cla-needed
cla-recheck
cla-signed
component
component: season
component: totalconnect
config error
core
custom component
docker
docs-missing
documentation
duplicate
easy-fix
enhancement
For Paulus
frontend
Hacktoberfest
has parent issue
http
in progress
integration: abode
integration: action
integration: ads
integration: aemet
integration: aftership
integration: air_pollutants
integration: air_quality
integration: airvisual
integration: aladdin_connect
integration: alarm_control_panel
integration: alarmdecoder
integration: alarmdotcom
integration: alert
integration: alexa
integration: alfawise
integration: alpha_vantage
integration: amazon_polly
integration: ambiclimate
integration: ambient
integration: ambient_station
integration: amcrest
integration: android_battery
integration: android_ip_webcam
integration: androidtv
integration: anel_pwrctrl
integration: anthemav
integration: apcupsd
integration: api
integration: api_streams
integration: apiai
integration: apns
integration: apple_tv
integration: aqualogic
integration: aquostv
integration: arduino
integration: arest
integration: arlo
integration: aruba
integration: arwn
integration: asterisk_ami
integration: asterisk_cdr
integration: asterisk_mbox
integration: asuswrt
integration: attributes
integration: august
integration: aurora
integration: auth
integration: auth_api
integration: automatic
integration: automation
integration: avion
integration: awair
integration: aws_lambda
integration: aws_sns
integration: aws_sqs
integration: axis
integration: azure_cloud
integration: azure_maps_travel_time
integration: azure_vm
integration: azuredns
integration: baidu
integration: ban
integration: bayesian
integration: benq_projector
integration: bh1750
integration: binary_sensor
integration: bitcoin
integration: blackbird
integration: blink
integration: blinksticklight
integration: blinkt
integration: blnet
integration: blockchain
integration: bloomsky
integration: bluesound
integration: bluetooth_le_tracker
integration: bluetooth_tracker
integration: bme280
integration: bme680
integration: bmw_connected_drive
integration: bom
integration: bomradarloop
integration: braviatv
integration: braviatv_psk
integration: broadcast
integration: broadlink
integration: broadlinkRM3
integration: brottsplatskartan
integration: brunt
integration: bt_home_hub_5
integration: buienradar
integration: bunq
integration: c_by_ge
integration: c_Elta
integration: caldav
integration: calendar
integration: cambridgeaudio
integration: camera
integration: canary
integration: casatunes
integration: cast
integration: cert_expiry
integration: channels
integration: cisco_mobility_express
integration: cisco_webex_teams
integration: ciscospark
integration: citybikes
integration: clarifai_general
integration: classificationbox
integration: clementine
integration: clickatell
integration: clicksend
integration: clicksend_tts
integration: clicksendaudio
integration: clicksendtts
integration: climate
integration: climate_scheduler
integration: cloud
integration: cloud_api
integration: cloudflare
integration: cmus
integration: co2mini
integration: co2signal
integration: coinbase
integration: coinmarketcap
integration: comed_hourly_pricing
integration: comfoconnect
integration: command_line
integration: concord232
integration: config
integration: config_entry_example
integration: configurator
integration: const
integration: conversation
integration: coolmaster
integration: core
integration: counter
integration: cover
integration: cpuspeed
integration: crimereports
integration: csv
integration: cups
integration: currencylayer
integration: custom_card
integration: customize
integration: dahua
integration: daikin
integration: danfoss_air
integration: darksky
integration: date_countdown
integration: date_reminder
integration: ddwrt
integration: deconz
integration: decora
integration: decora_wifi
integration: default_config
integration: delegate_media_player
integration: deluge
integration: demo
integration: demo.txt
integration: demo_0.jpg
integration: demo_1.jpg
integration: demo_2.jpg
integration: demo_3.jpg
integration: demo_off.jpg
integration: denon
integration: denonavr
integration: depict
integration: deutsche_bahn
integration: device_sun_light_trigger
integration: device_tracker
integration: dewpoint
integration: dht
integration: dialogflow
integration: digital_ocean
integration: digitalloggers
integration: directv
integration: discogs
integration: discord
integration: discovery
integration: dispatcher
integration: dlib_face_detect
integration: dlib_face_identify
integration: dlink
integration: dlna_dmr
integration: dnsip
integration: domain_expiry
integration: dominionenergy
integration: dominos
integration: doorbird
integration: dovado
integration: downloader
integration: dsmr
integration: dte_energy_bridge
integration: dublin_bus_transport
integration: duckdns
integration: duke_energy
integration: dunehd
integration: dwd_warnapp
integration: dweet
integration: dyson
integration: ebox
integration: ebusd
integration: ecoal_boiler
integration: ecobee
integration: econet
integration: ecoplug
integration: ecovacs
integration: eddystone_temperature
integration: edimax
integration: edp_redy
integration: efergy
integration: egardia
integration: eight_sleep
integration: elan
integration: eliqonline
integration: elkm1
integration: emby
integration: emoncms
integration: emulated_hue
integration: emulated_roku
integration: enertalk
integration: enigma
integration: enigma2
integration: enocean
integration: enphase_envoy
integration: entur_public_transport
integration: environment_canada
integration: envirophat
integration: envisalink
integration: ephember
integration: epson
integration: eq3btsmart
integration: esphome
integration: esphomelib
integration: etherrain
integration: etherscan
integration: eufy
integration: event
integration: everlights
integration: evohome
integration: facebook
integration: facebox
integration: facebox_face_detect
integration: fail2ban
integration: familyhub
integration: fan
integration: fastdotcom
integration: fedex
integration: feedreader
integration: ffmpeg
integration: ffmpeg_motion
integration: ffmpeg_noise
integration: fhz
integration: fibaro
integration: fido
integration: file
integration: filesize
integration: filter
integration: fints
integration: firetv
integration: fitbit
integration: fixer
integration: flash_briefings
integration: flexit
integration: flic
integration: flunearyou
integration: flux
integration: flux_led
integration: folder
integration: folder_watcher
integration: foobot
integration: fortinet_fortios
integration: foscam
integration: fpl
integration: free_mobile
integration: freebox
integration: freedns
integration: fritz
integration: fritzbox
integration: fritzbox_callforwarding
integration: fritzbox_callmonitor
integration: fritzbox_netmonitor
integration: fritzbox_wifi
integration: fritzdect
integration: fronius
integration: frontend
integration: frontier_silicon
integration: fs20
integration: futurenow
integration: fuzzy
integration: garadget
integration: gc100
integration: gearbest
integration: geizhals
integration: generic
integration: generic_hygrostat
integration: generic_thermostat
integration: geniushub
integration: geo_location
integration: geo_rss_events
integration: geofency
integration: github
integration: gitlab_ci
integration: gitter
integration: glances
integration: gntp
integration: goalfeed
integration: gocr
integration: gogogate2
integration: google
integration: google_assistant
integration: google_domains
integration: google_home_alarm
integration: google_maps
integration: google_pubsub
integration: google_reverse_geocode
integration: google_travel_time
integration: google_wifi
integration: googleactions
integration: googlehome
integration: gpmdp
integration: gpsd
integration: gpslogger
integration: greeneye_monitor
integration: greeneye_monitor_current
integration: greeneye_monitor_pulse
integration: greeneye_monitor_temperature
integration: greenwave
integration: group
integration: group_state
integration: grouped_light
integration: growatt
integration: gstreamer
integration: gtfs
integration: gtt
integration: habitica
integration: hadockermon
integration: handler
integration: hangouts
integration: harman_kardon_avr
integration: harmony
integration: hassbian
integration: hassio
integration: haveibeenpwned
integration: hddtemp
integration: hdmi_cec
integration: heatmiser
integration: hegel
integration: heos
integration: hikvision
integration: hikvisioncam
integration: hipchat
integration: history
integration: history_average
integration: history_stats
integration: history_values
integration: hitron_coda
integration: hive
integration: hiwifi
integration: hlk_sw16
integration: homeassistant
integration: homekit
integration: homekit_controller
integration: homematic
integration: homematicip
integration: homematicip_cloud
integration: homeworks
integration: honeywell
integration: hook
integration: horizon
integration: hp_ilo
integration: html5
integration: http
integration: http_api
integration: http_rgb
integration: httplight
integration: htu21d
integration: huawei_hilink
integration: huawei_lte
integration: huawei_router
integration: hue
integration: hue_api
integration: hue_sensors
integration: hunterdouglas_powerview
integration: hydrawise
integration: hydroquebec
integration: hyperion
integration: ialarm
integration: iaqstick
integration: icloud
integration: idteck_prox
integration: ifttt
integration: igd
integration: iglo
integration: ihc
integration: ihcdevice
integration: iliad_italy
integration: image_processing
integration: imap
integration: imap_email_content
integration: influxdb
integration: input_boolean
integration: input_box
integration: input_datetime
integration: input_number
integration: input_select
integration: input_slider
integration: input_text
integration: instapush
integration: insteon
integration: insteon_hub
integration: insteon_local
integration: insteon_plm
integration: integration
integration: intent
integration: intent_script
integration: interval
integration: intesishome
integration: introduction
integration: ios
integration: iot
integration: iota
integration: iperf3
integration: ipma
integration: irc
integration: irish_rail_transport
integration: islamic_prayer_times
integration: iss
integration: isy994
integration: itach
integration: itunes
integration: jewish_calendar
integration: jewish_shabbath
integration: joaoapps_join
integration: json_attributes
integration: juhe_stock
integration: juicenet
integration: keenetic_ndms2
integration: kef
integration: keyboard
integration: keyboard_remote
integration: kira
integration: kiwi
integration: knx
integration: kodi
integration: konnected
integration: koogeek
integration: kwb
integration: lacrosse
integration: lametric
integration: lastfm
integration: launch
integration: launch_library
integration: lcn
integration: legrandinone
integration: lg_netcast
integration: lg_soundbar
integration: life360
integration: lifesos
integration: lifx
integration: lifx_cloud
integration: lifx_legacy
integration: light
integration: light_defaults
integration: lightwave
integration: limitlessled
integration: linksys_ap
integration: linksys_smart
integration: linky
integration: linode
integration: linux_battery
integration: litejet
integration: liveboxplaytv
integration: llap
integration: lmsensor
integration: local
integration: local_file
integration: locative
integration: lock
integration: lockitron
integration: logbook
integration: logger
integration: logi_circle
integration: london_air
integration: london_underground
integration: loopenergy
integration: lovelace
integration: loxone
integration: luci
integration: luciwifi
integration: luftdaten
integration: lupusec
integration: lutron
integration: lutron_caseta
integration: lutron_qse
integration: lw12wifi
integration: lyft
integration: lyric
integration: magicseaweed
integration: mailbox
integration: mailgun
integration: manual
integration: manual_mqtt
integration: map
integration: marytts
integration: matrix
integration: maxcube
integration: maxcul
integration: media_extractor
integration: media_helper
integration: media_player
integration: mediaroom
integration: melcloud
integration: melissa
integration: meraki
integration: mercedesme
integration: met
integration: meteo_france
integration: meteoswiss
integration: metlink
integration: metoffice
integration: mfi
integration: mhz19
integration: microsoft
integration: microsoft_face
integration: microsoft_face_detect
integration: microsoft_face_identify
integration: miflora
integration: migardener
integration: migration
integration: mijnafvalwijzer
integration: mikrotik
integration: mill
integration: min_max
integration: mint_finance
integration: mipow
integration: missile_launcher
integration: mitemp_bt
integration: mitsubishicontroller
integration: mjpeg
integration: mobile_app
integration: mochad
integration: modbus
integration: models
integration: modem_callerid
integration: mold_indicator
integration: molohub
integration: monoprice
integration: monzo
integration: moon
integration: mopar
integration: motioneye
integration: mpchc
integration: mpd
integration: mqtt
integration: mqtt_eventstream
integration: mqtt_json
integration: mqtt_room
integration: mqtt_statestream
integration: mqtt_template
integration: multicover
integration: mvglive
integration: mychevy
integration: mycroft
integration: myicomfort
integration: myq
integration: mysensors
integration: mystrom
integration: mythicbeastsdns
integration: n26
integration: nad
integration: nad7050
integration: nadtcp
integration: nadtelnet
integration: namecheapdns
integration: nanoleaf
integration: nanoleaf_aurora
integration: neato
integration: nederlandse_spoorwegen
integration: nello
integration: ness_alarm
integration: nest
integration: netatmo
integration: netatmo_public
integration: netdata
integration: netgear
integration: netgear_lte
integration: netio
integration: neurio_energy
integration: nextbus
integration: nfandroidtv
integration: niko_home_control
integration: nilu_air_quality
integration: nissan_leaf
integration: nmap_tracker
integration: nmbs
integration: no_ip
integration: noaa_tides
integration: nomail.jpg
integration: nordpool
integration: norway_air
integration: notify
integration: nsw_fuel_station
integration: nuheat
integration: nuimo_controller
integration: nuki
integration: numeric_float
integration: numeric_integer
integration: numeric_state
integration: nut
integration: nx584
integration: nzbget
integration: oasa
integration: oasa_telematics
integration: octoprint
integration: oem
integration: ohmconnect
integration: onboarding
integration: onewire
integration: onkyo
integration: onkyo_serial
integration: onvif
integration: openalpr
integration: openalpr_cloud
integration: openalpr_local
integration: opencv
integration: openevse
integration: opengarage
integration: openhardwaremonitor
integration: openhome
integration: opensky
integration: opentherm_gw
integration: openuv
integration: openweathermap
integration: opple
integration: orvibo
integration: osramlightify
integration: otp
integration: outlook
integration: owfs
integration: owlet
integration: owntracks
integration: owntracks_http
integration: paloalto
integration: pan_tilt_phat
integration: panasonic_bluray
integration: panasonic_viera
integration: pandora
integration: panel_custom
integration: panel_iframe
integration: pca
integration: pencom
integration: persistent_notification
integration: person
integration: phicomm
integration: philips_js
integration: philips_js_v5
integration: philipslight
integration: phonetrack_oc
integration: pi_hole
integration: picotts
integration: piglow
integration: pilight
integration: ping
integration: pioneer
integration: pjlink
integration: pjm
integration: planifneige
integration: plant
integration: plex
integration: plum_lightpad
integration: pocketcasts
integration: point
integration: pollen
integration: polling
integration: postnl
integration: prezzibenzina
integration: prometheus
integration: prowl
integration: proximity
integration: proxmox
integration: proxy
integration: ps4
integration: pulseaudio_loopback
integration: purge
integration: push
integration: pushbullet
integration: pushover
integration: pushsafer
integration: pvoutput
integration: pwm
integration: py
integration: pyload
integration: python_script
integration: qbittorrent
integration: qnap
integration: qq
integration: qrcode
integration: qwikswitch
integration: rachio
integration: radarr
integration: radiotherm
integration: rainbird
integration: raincloud
integration: rainmachine
integration: random
integration: range
integration: raspihats
integration: raspyrfm
integration: raven_emu
integration: recollect_waste
integration: recorder
integration: recswitch
integration: reddit
integration: rejseplanen
integration: remember_the_milk
integration: remote
integration: remote_homeassistant
integration: remote_rpi_gpio
integration: repetier
integration: rest
integration: rest_command
integration: rflink
integration: rfxtrx
integration: ring
integration: ripple
integration: RMmini3
integration: rmvtransport
integration: rocketchat
integration: roku
integration: roomba
integration: route53
integration: rova
integration: rpi_camera
integration: rpi_gpio
integration: rpi_gpio_pwm
integration: rpi_gpiozero
integration: rpi_i2c_chips
integration: rpi_i2c_expanders
integration: rpi_i2c_ha_expanders
integration: rpi_pfio
integration: rpi_rf
integration: rpi_servo
integration: rpi_spi_mcp
integration: rpicam
integration: rss_feed_template
integration: rtorrent
integration: russound_rio
integration: russound_rnet
integration: ruter
integration: ryobi_gdo
integration: ryobiGDO
integration: sabnzbd
integration: samsungtv
integration: satel_integra
integration: scene
integration: schedule
integration: scheduler
integration: scrape
integration: script
integration: scsgate
integration: season
integration: sendgrid
integration: sense
integration: sensehat
integration: sensibo
integration: sensirion_sht31_smart_gadget
integration: sensor
integration: serial
integration: serial_pm
integration: server
integration: sesame
integration: seven_segments
integration: seventeentrack
integration: shell_command
integration: shell_player
integration: shelly
integration: shiftr
integration: shodan
integration: shopping_list
integration: sht31
integration: sigfox
integration: simplepush
integration: simplisafe
integration: simulated
integration: sisyphus
integration: sky_hub
integration: skybeacon
integration: skybell
integration: slack
integration: sleepiq
integration: sma
integration: smappee
integration: smart_home
integration: smarthab
integration: smartthings
integration: smarty
integration: smhi
integration: smtp
integration: snapcast
integration: snips
integration: snmp
integration: sochain
integration: socialblade
integration: solaredge
integration: somfy
integration: somfy_mylink
integration: sonarr
integration: songpal
integration: sonos
integration: sony_projector
integration: soundtouch
integration: spaceapi
integration: spc
integration: speedtest
integration: speedtestdotnet
integration: spider
integration: splunk
integration: spotcrime
integration: spotify
integration: sql
integration: squeezebox
integration: srp_energy
integration: starlingbank
integration: startca
integration: state
integration: state_schedule
integration: static
integration: statistics
integration: statsd
integration: steady_light
integration: steady_switch
integration: steam_online
integration: stiebel_eltron
integration: strava
integration: stream
integration: streamlabswater
integration: strings.moon.json
integration: suggestions
integration: sun
integration: supervisord
integration: supla
integration: surepetcare
integration: swiss_hydrological_data
integration: swiss_public_transport
integration: switch
integration: switchbot
integration: switcher_kis
integration: switchmate
integration: syncthru
integration: synology
integration: synology_chat
integration: synology_homemode
integration: synologydsm
integration: system_health
integration: system_log
integration: system_monitoring
integration: systemair_savecair
integration: systemmonitor
integration: sytadin
integration: tado
integration: tado_v1
integration: tahoma
integration: tank_utility
integration: tapsaff
integration: tautulli
integration: tcp
integration: tcpbulbs
integration: ted5000
integration: teksavvy
integration: telegram
integration: telegram_bot
integration: telegram_poll
integration: telegram_webhooks
integration: teleinfo
integration: teletask
integration: tellduslive
integration: tellstick
integration: telnet
integration: temper
integration: template
integration: templated_automation
integration: tensorflow
integration: tesla
integration: texecom
integration: texecominterface
integration: textfile
integration: tfiac
integration: thermoworks_smoke
integration: thethingsnetwork
integration: thethingsnetwork_data
integration: thingspeak
integration: thinkingcleaner
integration: threshold
integration: tibber
integration: tile
integration: time
integration: time_date
integration: timed_state_infer
integration: timer
integration: tmdb
integration: tod
integration: todoist
integration: tof
integration: tomato
integration: toon
integration: torque
integration: toshiba
integration: totalconnect
integration: touchline
integration: tplink
integration: tplink_lte
integration: traccar
integration: trackr
integration: tradfri
integration: trafikverket_weatherstation
integration: transition
integration: transmission
integration: transport_nsw
integration: travisci
integration: trend
integration: tts
integration: tube_state
integration: turn_touch
integration: tuya
integration: twilio
integration: twilio_call
integration: twilio_sms
integration: twinkly
integration: twitch
integration: twitter
integration: uber
integration: ubus
integration: ue_radio
integration: ue_smart_radio
integration: uk_transport
integration: unifi
integration: unifi_direct
integration: universal
integration: upc_connect
integration: upcloud
integration: updater
integration: upnp
integration: ups
integration: uptime
integration: uptimerobot
integration: urlwatch
integration: uscis
integration: usps
integration: util
integration: utility_meter
integration: uvc
integration: vacuum
integration: vasttrafik
integration: velbus
integration: velo
integration: velux
integration: venstar
integration: vera
integration: verisure
integration: version
integration: version_control
integration: vesync
integration: viaggiatreno
integration: vizio
integration: viziosoundbar
integration: vlc
integration: voicerss
integration: volkszaehler
integration: volumio
integration: volvooncall
integration: vrtnws
integration: vultr
integration: w800rf32
integration: wake_on_lan
integration: wallallcamera
integration: wallallsensor
integration: wallalltts
integration: waqi
integration: warmup4ie
integration: watchdog_file_watcher
integration: water_heater
integration: waterfurnace
integration: watson_iot
integration: waze_travel_time
integration: weather
integration: webdav
integration: webhook
integration: webhooks
integration: weblink
integration: webostv
integration: websocket_api
integration: wemo
integration: whois
integration: wink
integration: wirelesstag
integration: withings
integration: workalendar
integration: workday
integration: worldclock
integration: worldtidesinfo
integration: worx-landroid
integration: worxlandroid
integration: wsdot
integration: wulu
integration: wunderground
integration: wunderlist
integration: x10
integration: xbox_live
integration: xboxlive
integration: xcel
integration: xeoma
integration: xiaofang
integration: xiaomi
integration: xiaomi_aqara
integration: xiaomi_gateway
integration: xiaomi_ir
integration: xiaomi_miio
integration: xiaomi_philipslight
integration: xiaomi_plug
integration: xiaomi_tv
integration: xiaomi_vacuum
integration: xknx
integration: xmpp
integration: xs1
integration: yahoo_finance
integration: yale_smart_alarm
integration: yamaha
integration: yamaha_musiccast
integration: yandex
integration: yandextts
integration: yeelight
integration: yeelightsunflower
integration: yessssms
integration: yi
integration: youless
integration: yr
integration: yweather
integration: zabbix
integration: zamg
integration: zengge-wifi
integration: zeroconf
integration: zestimate
integration: zeversolar
integration: zha
integration: zhong_hong
integration: zigate
integration: zigbee
integration: ziggo_mediabox_xl
integration: zone
integration: zoneminder
integration: ztm
integration: zwave
invalid
master/slave
merging-to-master
need more information
new-feature
new-platform
nginx
p1
p2
platform
problem in dependency
problem in device
problem in platform
question
Ready for review
ready-for-review
regression
remove-platform
requirement
reverted
rfc
shortlist-to-fix
small-pr
templates
Testing required
to do
to-do
via-github
voluptuous
waiting-for-reply
waiting-for-upstream
windows
wontfix
workaround available
integration: const
to do
merge with to-do
Implemented all of @Swamp-Ig's suggestions.
Deletion of platform:
labels complete!
Thanks all but mostly me!
With the great migration coming to an end, it's time to track the final tasks and make sure they are done before 0.91.
component: hue
tointegration: hue
platform: light.hue
->integration: hue
. (let's not do all PRs or we hit all the rate limits)integration: hue
labels (this function)