The standard ThingSpeak integration allows only one value to be sent. This limitation can be bypassed using shell_command in configuration.yaml.

Example of sending three values to two ThingSpeak channels.

1) configuratinon.yaml:

shell_command:
  thingspeak1: 'curl "https://api.thingspeak.com/update?api_key=xxxxxxxxxxxx&field1={{states("sensor.emoncms_temp_air_out")}}&field2={{states("sensor.emoncms_press")}}"'
  thingspeak2: 'curl "https://api.thingspeak.com/update?api_key=xxxxxxxxxxxxx&field1={{states("sensor.emoncms_temp_water")}}"'
 

2) Add automation that will run shell_command thingspeak1 and thingspeak2 at regular intervals.

alias: curl_thingspeak
description: odeslani dat do thingspeaku
trigger:
  - platform: time_pattern
    minutes: /1
condition: []
action:
  - service: shell_command.thingspeak1
    data: {}
  - service: shell_command.thingspeak2
    data: {}
mode: single