Counter-Strike: Global Offensive game state integration

I can understand you completely - no bad feelings.
I will try to get this fixed in github.

Hey did you fix everything in your setup?
I just saw this integration and don’t know how to set it up. How to listen to the events sended through webhook? Maybe you can help me in German. I want to flash lights with WLED Integration.

I am not sure if it is allowed to anser in german so I will do it both.

Yes - I was able to integrate it (not yet completely perfect). I had to fiddle around with the timeouts a little bit and now from the second round on it works (nealy 100%) as intended.

I wasn’t able to finalize the configuration but thats the problem when stuff works sufficient and the user is lazy f*ck :slight_smile:

I am going to copy and paste my config sections later on when I am home.

German:

Ja - die Integration läuft fast perfect. Ich musste ein paar timeouts anpassen damit die Lichter richtig reagieren und ab der zweiten Runde läufts nun fast so wie es soll.

Leider hab ich noch nicht die Zeit gefunden das zu finalisieren - so ist das halt wenn es zufriedenstellend läuft und man keine Zeit oder Lust derzeit hat das zu reparieren.

Ich poste nachher mal meine Konfiguration wenn ich zu Hause bin.

##this i got in the scripts.yaml
csgo_freezetime:
  alias: CSGO - Freezetime
  sequence:
  - data:
      entity_id:
      - script.csgo_flashloop1
      - script.csgo_flashloop2
    service: script.turn_off
  - data:
      rgb_color:
      - 61
      - 119
      - 255
      transition: 0.5
    service: light.turn_on
    target:
      device_id:
      - c5bbc1d5c881f36f604eb5559aacb2cc
  mode: single
csgo_begin_end:
  alias: CSGO - Round start/end
  sequence:
  - data:
      entity_id:
      - script.csgo_flashloop1
      - script.csgo_flashloop2
    service: script.turn_off
  - service: light.turn_on
    data:
      rgb_color:
      - 255
      - 217
      - 128
    target:
      device_id:
      - c5bbc1d5c881f36f604eb5559aacb2cc
  mode: single
csgo_bomb_planted:
  alias: CSGO - Bomb planted
  sequence:
  - data:
      rgb_color:
      - 255
      - 190
      - 0
      transition: 0.5
    service: light.turn_on
    target:
      device_id:
      - c5bbc1d5c881f36f604eb5559aacb2cc
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
    enabled: true
  - service: script.csgo_flashloop1
    data: {}
  mode: single
csgo_bomb_defused:
  alias: CSGO - Bomb defused
  sequence:
  - data:
      entity_id:
      - script.csgo_flashloop1
      - script.csgo_flashloop2
    service: script.turn_off
  - data:
      rgb_color:
      - 0
      - 255
      - 0
      transition: 0.5
    service: light.turn_on
    target:
      device_id:
      - c5bbc1d5c881f36f604eb5559aacb2cc
  mode: single
csgo_bomb_exploded:
  alias: CSGO - Bomb exploded
  sequence:
  - data:
      entity_id:
      - script.csgo_flashloop1
      - script.csgo_flashloop2
    service: script.turn_off
  - data:
      rgb_color:
      - 255
      - 0
      - 0
      transition: 0.5
    service: light.turn_on
    target:
      device_id:
      - c5bbc1d5c881f36f604eb5559aacb2cc
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
  mode: single
csgo_flashloop1:
  alias: CSGO - Flashloop 1
  sequence:
  - data: {}
    entity_id: script.csgo_flashloop2
    service: script.turn_off
  - service: script.csgo_flashloop2
    data: {}
  - data:
      flash: long
    service: light.turn_on
    target:
      device_id:
      - c5bbc1d5c881f36f604eb5559aacb2cc
  - delay:
      hours: 0
      minutes: 0
      seconds: 15
      milliseconds: 0
  mode: single
csgo_flashloop2:
  alias: CSGO - Flashloop 2
  sequence:
  - delay: '1'
    enabled: true
  - timeout: 00:00:15
    wait_template: '{{ states.script.csgo_flashloop1.state == "off" }}'
  - service: script.csgo_flashloop1
    data: {}
  mode: single
licht_flash_buro:
  alias: Licht flash büro
  sequence:
  - service: light.turn_on
    data:
      flash: short
    target:
      device_id:
      - c5bbc1d5c881f36f604eb5559aacb2cc
      - 501694fdfbf962586a75f59fd809fd55
  mode: single

You have to amend the script afterwards to which light you want to react to the commands - you can do this in the UI.

## this sections you have to add to the automations.yaml

- id: '00000002'
  alias: CSGO - Round starts or game ends
  description: Start-Ende
  trigger:
  - event_data: {}
    event_type: csgo_round_started
    platform: event
  - event_data: {}
    event_type: csgo_game_stopped
    platform: event
    enabled: false
  condition:
  - condition: device
    device_id: ba5595f32384b556babca3fcaa3c4b36
    domain: light
    entity_id: light.tischbeleuchtung_buro
    type: is_on
  action:
  - data: {}
    entity_id: script.csgo_begin_end
    service: script.turn_on
- id: '00000003'
  alias: CSGO - Bomb planted
  description: ''
  trigger:
  - event_data: {}
    event_type: csgo_bomb_planted
    platform: event
  condition:
  - condition: device
    device_id: ba5595f32384b556babca3fcaa3c4b36
    domain: light
    entity_id: light.tischbeleuchtung_buro
    type: is_on
  action:
  - data: {}
    entity_id: script.csgo_bomb_planted
    service: script.turn_on
- id: '00000004'
  alias: CSGO - Bomb exploded
  description: ''
  trigger:
  - event_data: {}
    event_type: csgo_bomb_exploded
    platform: event
  condition:
  - condition: device
    device_id: ba5595f32384b556babca3fcaa3c4b36
    domain: light
    entity_id: light.tischbeleuchtung_buro
    type: is_on
  action:
  - data: {}
    entity_id: script.csgo_bomb_exploded
    service: script.turn_on
- id: '00000005'
  alias: CSGO - Bomb defused
  description: ''
  trigger:
  - event_data: {}
    event_type: csgo_bomb_defused
    platform: event
  condition:
  - condition: device
    device_id: ba5595f32384b556babca3fcaa3c4b36
    domain: light
    entity_id: light.tischbeleuchtung_buro
    type: is_on
  action:
  - data: {}
    entity_id: script.csgo_bomb_defused
    service: script.turn_on

And after you added this you also have to amend the automation in the UI to your lights that you want to change

my gamestate_integration_homeassistant.cfg looks like this

"HomeAssistant Integration v1.2.0"
{
"uri" "http://192.168.178.66:8123/api/webhook/c397a20f48d859bda68746426a46b58c7c7ce2c126a187e58f7fb3d0cd4c347a"
 "timeout" "5.0"
 "buffer" "0.1"
 "throttle" "0.1"
 "heartbeat" "60.0"
 "data"
 {
   "round"          "1" // round phase, bomb state and round winner
 }
}


I sincerely hope this helps you :smiley:

All events fires correclty. But using csgo_* does not show any events.

I’m sorry but I didn’t play CS2 yet and cannot confirm if it works at all with the GSI.
However, I released a new tool (at least for Windows users) that will cover way more games (CS2 included) by integrating with Overwolf.