Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Great Migration - Tools update #22201

Closed
4 tasks done
balloob opened this issue Mar 20, 2019 · 11 comments
Closed
4 tasks done

The Great Migration - Tools update #22201

balloob opened this issue Mar 20, 2019 · 11 comments

Comments

@balloob
Copy link
Member

balloob commented Mar 20, 2019

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.

  • Update LabelBot to no longer attach platform labels Don't add platform labels LabelBot#6
  • Write a script to update labels in this repo from component: hue to integration: hue
  • Write a script to merge all platform labels in the repo into component labels for open PRs. -> platform: light.hue -> integration: hue. (let's not do all PRs or we hit all the rate limits)
  • Update HASS Release to be able to handle integration: hue labels (this function)
@Swamp-Ig
Copy link
Contributor

Swamp-Ig commented Mar 20, 2019

  • Update the home-assistant.io documentation to put sensors etc either all together, or all in their components (or even both??).

@MartinHjelmare
Copy link
Member

MartinHjelmare commented Mar 20, 2019

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 home-assistant/home-assistant.io#8593.

@balloob
Copy link
Member Author

balloob commented Mar 20, 2019

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.

@robbiet480
Copy link
Member

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);
      })
    }
  });
});

@robbiet480
Copy link
Member

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();

@robbiet480
Copy link
Member

robbiet480 commented Mar 21, 2019

List of broken labels that need fixing:

  • integration: demo.txt
  • integration: demo_0.jpg
  • integration: demo_1.jpg
  • integration: demo_2.jpg
  • integration: demo_3.jpg
  • integration: demo_off.jpg
  • integration: nomail.jpg
  • integration: strings.moon.json

Choose one to keep:

  • Ready for review or ready-for-review

@robbiet480
Copy link
Member

robbiet480 commented Mar 21, 2019

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

@Swamp-Ig
Copy link
Contributor

  • integration: const
  • to do merge with to-do
  • `p1' 'p2' -> what are these?

@robbiet480
Copy link
Member

Implemented all of @Swamp-Ig's suggestions.

@robbiet480
Copy link
Member

Deletion of platform: labels complete!

@balloob balloob closed this as completed Mar 21, 2019
@robbiet480
Copy link
Member

Thanks all but mostly me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants