Command hassio from alexa

Good morning,
before using HA I used codesys.
With the previous system I had created a skill on alexa developer that gave me the possibility to turn on / off anything programmed in codesys and to tell me the status of some sensors or which lights were on.
To do this I had created a json file on the developer site of alexa and used ngrok as ssl authentication and a python file on the pi to interface with codesys.
Now on HA I have installed duckdsn and am able to securely access my assistant.
But now I don’t know how to proceed.
Does anyone manage to issue HA commands through alexa?
Thanks, Alberto

This is my python code on pi

import logging
from flask import Flask, render_template
from flask_ask import Ask, statement, question, session
import sys
sys.path.insert(0, "..")

from opcua import Client
from opcua import ua
from opcua.common.node import Node

app = Flask(__name__)
ask = Ask(app, "/")

logging.basicConfig()
logging.getLogger("flask_ask").setLevel(logging.DEBUG)

client = Client("opc.tcp://localhost:4840")

client.connect()
root = client.get_root_node()

@ask.launch
def start_skill():
  welcome_message = 'dimmi'
  return question(welcome_message)  

@ask.intent('SpegniTutto')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.SCENARI.Buonanotte")
  Comando.set_value(True)
  text = 'Ho iniziato il processo di spegnimento totale'
  client.disconnect()

  return statement(text)

@ask.intent('AccendiPassaggio')
def change_CorrExt(power_states):
  client.connect()
  root = client.get_root_node()

  StatoReleCorrExt = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D0_CorrExt")  
  StatoReleAndrone = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D6_Androne")  

  cmdCorridoioExt = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.P0_CorridoioEXT")
  cmdAndrone = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.P0_Androne")

  if StatoReleCorrExt.get_value() == False:
	  cmdCorridoioExt.set_value(True)
  if StatoReleAndrone.get_value() == False:
	  cmdAndrone.set_value(True)

  text = 'Ok, ho acceso la luce nel passaggio per il giardino'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniPassaggio')
def change_CorrExt(power_states):
  client.connect()
  root = client.get_root_node()

  StatoReleCorrExt = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D0_CorrExt")  
  StatoReleAndrone = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D6_Androne")  

  cmdCorridoioExt = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.P0_CorridoioEXT")
  cmdAndrone = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.P0_Androne")

  if StatoReleCorrExt.get_value() == True:
	  cmdCorridoioExt.set_value(True)
  if StatoReleAndrone.get_value() == True:
	  cmdAndrone.set_value(True)
  
  text = 'Ok, ho spento la luce nel passaggio per il giardino'

  client.disconnect()

  return statement(text)


@ask.intent('AccendiSalaZero')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D11_Sala")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Sala")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso la luce in sala '
  else:
	  text = 'La luce in sala era già accesa !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniSalaZero')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D11_Sala")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Sala")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento la luce in sala '
  else:
	  text = 'La luce in sala era già spenta !!'

  client.disconnect()

  return statement(text)

@ask.intent('AccendiSalaUno')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D4_Sala")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.PSala")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso la luce in sala al primo piano '
  else:
	  text = 'La luce in sala al primo piano era già accesa !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniSalaUno')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D4_Sala")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.PSala")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento la luce in sala al primo paino '
  else:
	  text = 'La luce in sala al primo piano era già spenta !!'

  client.disconnect()

  return statement(text)

@ask.intent('AccendiCorridoio')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D5_Corr")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PCorridoio")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso la luce in corridoio al primo piano '
  else:
	  text = 'La luce in corridoio al primo piano era già accesa !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniCorridoio')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D5_Corr")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PCorridoio")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento la luce in corridoio al primo piano '
  else:
	  text = 'La luce in corridoio al primo piano era già spenta !!'

  client.disconnect()

  return statement(text)

@ask.intent('AccendiAntecucina')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D1_Antecucina")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PAntecucina")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso la luce antecucina al primo piano '
  else:
	  text = 'La luce antecucina al primo piano era già accesa !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniAntecucina')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D1_Antecucina")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PAntecucina")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento la luce antecucina al primo paino '
  else:
	  text = 'La luce antecucina al primo piano era già spenta !!'

  client.disconnect()

  return statement(text)
  
@ask.intent('AccendiCucina')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D10_Cucina")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Cucina")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso la luce in cucina '
  else:
	  text = 'La luce in cucina era già accesa !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniCucina')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D10_Cucina")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Cucina")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento la luce in cucina '
  else:
	  text = 'La luce in cucina era già spenta !!'

  client.disconnect()

  return statement(text)

@ask.intent('AccendiScala')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D2_Scala")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PScala")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso la luce sulla scala '
  else:
	  text = 'La luce sulla scala era già accesa !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniScala')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D2_Scala")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PScala")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento la luce sulla scala '
  else:
	  text = 'La luce sulla scala era già spenta !!'

  client.disconnect()

  return statement(text)

@ask.intent('AccendiPareti')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D12_Pareti")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Pareti")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso le applique sulle pareti della sala '
  else:
	  text = 'Le applique sulle pareti della sala erano già accese !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniPareti')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D12_Pareti")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Pareti")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho Spento le luci sulle pareti della sala '
  else:
	  text = 'Le luci sulle pareti della sala erano già spente !!'

  client.disconnect()

  return statement(text)
  
@ask.intent('AccendiLetto')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D3_Letto")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PLetto")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso la luce in camera da letto '
  else:
	  text = 'La luce in camera da letto era già accesa !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniLetto')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D3_Letto")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.PLetto")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento la luce in camera da letto '
  else:
	  text = 'La luce in camera da letto era già spenta !!'

  client.disconnect()

  return statement(text)  

@ask.intent('AccendiPilastro')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D13_Pilastro")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Pilastro")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, ho acceso le luci del pilastro in sala '
  else:
	  text = 'Le luci del pilastro in sala erano già accese !!'

  client.disconnect()

  return statement(text)

@ask.intent('SpegniPilastro')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D13_Pilastro")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.P0_Pilastro")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == True:
	  Comando.set_value(True)
	  text = 'Ok, ho spento le luci del pilastro in sala '
  else:
	  text = 'Le luci del pilastro erano già spente !!'

  client.disconnect()

  return statement(text)
  
@ask.intent('ApriTapSala')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_UP_SALA")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPSALA_100")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, sto aprendo la tapparella della sala '
  else:
	  text = 'Non posso applicare questo comando mentre la tapparella della sala è in funzione !!'

  client.disconnect()

  return statement(text)

@ask.intent('ChiudiTapSala')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_DW_SALA")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPSALA_0")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, sto chiudendo la tapparella della sala '
  else:
	  text = 'Non posso applicare questo comando mentre la tapparella della sala è in funzione !!'

  client.disconnect()

  return statement(text)
  
@ask.intent('ApriTapCucina')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_UP_CUCINA")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPCUC_100")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, sto aprendo la tapparella della cucina '
  else:
	  text = 'Non posso applicare questo comando mentre la tapparella della cucina è in funzione !!'

  client.disconnect()

  return statement(text)

@ask.intent('ChiudiTapCucina')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoRelè = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_DW_CUCINA")  
  Comando = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPCUC_0")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if StatoRelè.get_value() == False:
	  Comando.set_value(True)
	  text = 'Ok, sto chiudendo la tapparella della cucina '
  else:
	  text = 'Non posso applicare questo comando mentre la tapparella della cucina è in funzione !!'

  client.disconnect()

  return statement(text)

@ask.intent('ApriTaparelle')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoReleCucinaUp = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_UP_CUCINA")  
  StatoReleSalaUp = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_UP_SALA")  
  StatoReleCucinaDw = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_DW_CUCINA")  
  StatoReleSalaDw = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_DW_SALA")  

  ComandoCucina = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPCUC_100")
  ComandoSala = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPSALA_100")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if (   
       StatoReleCucinaUp.get_value() == False and StatoReleSalaUp.get_value() == False and 
       StatoReleCucinaDw.get_value() == False and StatoReleSalaDw.get_value() == False
   ):
	  ComandoCucina.set_value(True)
	  ComandoSala.set_value(True)	  
	  text = 'Ok, sto aprendo tutte le tapparelle '
  else:
	  text = 'Non posso applicare questo comando mentre le tapparelle risultano in funzione !!'

  client.disconnect()

  return statement(text)

@ask.intent('ChiudiTaparelle')
def change_Sala(power_states):
  client.connect()
  root = client.get_root_node()
  StatoReleCucinaUp = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_UP_CUCINA")  
  StatoReleSalaUp = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_UP_SALA")  
  StatoReleCucinaDw = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_DW_CUCINA")  
  StatoReleSalaDw = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.TAPPARELLE.RL0_DW_SALA")  

  ComandoCucina = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPCUC_0")
  ComandoSala = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.TAPSALA_0")

  #print ("Lo stato del relè è " , StatoRelè.get_value())

  if (   
       StatoReleCucinaUp.get_value() == False and StatoReleSalaUp.get_value() == False and 
       StatoReleCucinaDw.get_value() == False and StatoReleSalaDw.get_value() == False
   ):
	  ComandoCucina.set_value(True)
	  ComandoSala.set_value(True)	  
	  text = 'Ok, sto chiudendo tutte le tapparelle '
  else:
	  text = 'Non posso applicare questo comando mentre le tapparelle risultano in funzione !!'

  client.disconnect()

  return statement(text)
    
@ask.intent('CheckStatus')
def change_stat(power_states):
	client.connect()
	root = client.get_root_node()

	StatoRelèCorrEXT = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D0_CorrExt")  
	StatoRelèAndrone = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D6_Androne")  
	StatoRelèSala = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D11_Sala")  
	StatoRelèCucina = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D10_Cucina")  
	StatoRelèPareti = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D12_Pareti")  
	StatoRelèPilastro = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P0.D13_Pilastro")

	StatoRelèAntecucina = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D1_Antecucina")  
	StatoRelèScala = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D2_Scala")  
	StatoRelèLetto = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D3_Letto")  
	StatoRelèSala1 = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D4_Sala")  
	StatoRelèCorridoio = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.P1.D5_Corr")
  
	StatoRelèFacciata = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D8_Facciata")  
	StatoRelèGiardino = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.ESTERNO.D9_Giardino")
	
	TempExt = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.OneWireLD.rtEsterna")
	TempCaldaia = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.OneWireLD.rtCaldaia")
	
	SpesaElettrica = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.GESTIONE_CLIMA_CASA.Spesa")
	ConsumoWatt = client.get_node("ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.GESTIONE_CLIMA_CASA.Watt")
	
	#array
	cosa = ["Corridoio esterno", "Androne", "Sala", "Cucina", "Pareti", "Pilastro", "Antecucina", "Scala", "Letto", "Sala 1", "Corridoio 1", "Facciata", "Giardino"]
	stato = [StatoRelèCorrEXT.get_value(), StatoRelèAndrone.get_value(), StatoRelèSala.get_value(), StatoRelèCucina.get_value(), StatoRelèPareti.get_value(), StatoRelèPilastro.get_value(), StatoRelèAntecucina.get_value(), StatoRelèScala.get_value(), StatoRelèLetto.get_value(), StatoRelèSala1.get_value(), StatoRelèCorridoio.get_value(), StatoRelèFacciata.get_value(), StatoRelèGiardino.get_value()]

	onstate=""
	i = 0 
	while i < 12:
		#print (str(cosa[i]) + " " + str(stato[i]))
		if (   
			stato[i] == True
		   ):
			onstate = onstate + "." + str(cosa[i])
		i = i + 1
		if (
			onstate == ""
			):
			statoluci = "Non ci sono luci accese"
		else:
			statoluci = "Le luci accese sono:" + str(onstate)
			
	text = statoluci + ". La temperatura esterna è di:" + str("{0:.1f}".format(TempExt.get_value())) + " gradi. La temperatura della caldaia è di: " + str("{0:.1f}".format(TempCaldaia.get_value())) + " gradi. In questo momento il consumo elettrico è di: " + str("{0:4.2f}".format(ConsumoWatt.get_value())) + " watt, e la spesa è di" + str("{0:2.2f}".format(SpesaElettrica.get_value())) + " Euro."
	client.disconnect()

	return statement(text)
   
if __name__ == '__main__':

    app.run(debug=True)

This is a skill alexa:

{
    "interactionModel": {
        "languageModel": {
            "invocationName": "configura",
            "intents": [
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                },
                {
                    "name": "AccendiPassaggio",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi passaggio",
                        "Accendi corridoio esterno",
                        "Accendi luce ingresso",
                        "Accendi la luce di ingresso"
                    ]
                },
                {
                    "name": "SpegniPassaggio",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni passaggio",
                        "Spegni corridoio esterno",
                        "Spegni luce ingresso",
                        "Spegni la luce ingresso di ingresso"
                    ]
                },
                {
                    "name": "AccendiSalaZero",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi sala",
                        "Accendi luce sala",
                        "Accendi luce in sala",
                        "Accendi la luce in sala"
                    ]
                },
                {
                    "name": "SpegniSalaZero",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni sala",
                        "Spegni luce sala",
                        "Spegni luce in sala",
                        "Spegni la luce in sala"
                    ]
                },
                {
                    "name": "AccendiCucina",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi cucina",
                        "Accendi luce cucina",
                        "Accendi luce in cucina",
                        "Accendi la luce in cucina"
                    ]
                },
                {
                    "name": "SpegniCucina",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni cucina",
                        "Spegni luce cucina",
                        "Spegni luce in cucina",
                        "Spegni la luce in cucina"
                    ]
                },
                {
                    "name": "AccendiScala",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi scala",
                        "Accendi luce scala",
                        "Accendi la luce sulla scala"
                    ]
                },
                {
                    "name": "SpegniScala",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni scala",
                        "Spegni luce scala",
                        "Spegni la luce sulla scala"
                    ]
                },
                {
                    "name": "AccendiPareti",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi pareti",
                        "Accendi luce pareti",
                        "Accendi la luce sulle pareti"
                    ]
                },
                {
                    "name": "SpegniPareti",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni pareti",
                        "Spegni luce pareti",
                        "Spegni la luce sulle pareti"
                    ]
                },
                {
                    "name": "AccendiPilastro",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi pilastro",
                        "Accendi luci pilastro",
                        "Accendi le luci sul pilastro",
                        "Accendi il pilastro"
                    ]
                },
                {
                    "name": "SpegniPilastro",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni pilastro",
                        "Spegni luce pilastro",
                        "Spegni la luce sul pilastro",
                        "Spegni il pilastro"
                    ]
                },
                {
                    "name": "AccendiCorridoio",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi luce corridoio",
                        "Accendi luce corridoio primo piano",
                        "Accendi la luce del corridoio",
                        "Accendi corridoio"
                    ]
                },
                {
                    "name": "SpegniCorridoio",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni luce corridoio",
                        "Spegni luce corridoio primo piano",
                        "Spegni la luce del corridoio",
                        "Spegni corridoio"
                    ]
                },
                {
                    "name": "AccendiSalaUno",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi luce sala primo piano",
                        "Accendi la luce della sala al primo piano"
                    ]
                },
                {
                    "name": "SpegniSalaUno",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni luce sala primo piano",
                        "Spegni la luce della sala al primo piano"
                    ]
                },
                {
                    "name": "AccendiLetto",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Accendi luce letto",
                        "Accendi luce camera camera d letto",
                        "Accendi la luce in camera da letto"
                    ]
                },
                {
                    "name": "SpegniLetto",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Spegni luce letto",
                        "Spegni luce camera da leto",
                        "Spegni la luce in camera da letto"
                    ]
                },
                {
                    "name": "ApriTapSala",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Apri taparella sala",
                        "Apri la taparella in sala",
                        "Apri la taparella della sala",
                        "Alza la taparella della sala",
                        "Alza la taparella in sala",
                        "Alza taparella sala"
                    ]
                },
                {
                    "name": "ChiudiTapSala",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Chiudi taparella sala",
                        "Chiudi la taparella in sala",
                        "Chiudi la taparella della sala",
                        "Abbassa la taparella della sala",
                        "Abbassa la taparella in sala",
                        "Abbassa taparella sala"
                    ]
                },
                {
                    "name": "ApriTapCucina",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Apri taparella cucina",
                        "Apri la taparella in cucina",
                        "Apri la taparella della cucina",
                        "Alza la taparella della cucina",
                        "Alza la taparella in cucina",
                        "Alza taparella cucina"
                    ]
                },
                {
                    "name": "ChiudiTapCucina",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Chiudi taparella cucina",
                        "Chiudi la taparella in cucina",
                        "Chiudi la taparella della cucina",
                        "Abbassa la taparella della cucina",
                        "Abbassa la taparella in cucina",
                        "Abbassa taparella cucina"
                    ]
                },
                {
                    "name": "ApriTaparelle",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Apri tutte le taparelle",
                        "Apri le taparelle",
                        "Apri taparelle",
                        "Alza le taparelle",
                        "Alza tutte le taparelle",
                        "Alza taparelle"
                    ]
                },
                {
                    "name": "ChiudiTaparelle",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Chiudi tutte le taparelle",
                        "Chiudi le taparelle",
                        "Chiudi taparelle",
                        "Abbassa taparelle",
                        "Abbassa tutte le taparelle",
                        "Abbassa le taparelle"
                    ]
                },
                {
                    "name": "CheckStatus",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Stato luci",
                        "Info",
                        "Informazioni",
                        "Verifica"
                    ]
                },
                {
                    "name": "SpegniTutto",
                    "slots": [
                        {
                            "name": "power_states",
                            "type": "LIST_OF_STATS"
                        }
                    ],
                    "samples": [
                        "Buonanotte",
                        "Spegni tutto"
                    ]
                }
            ],
            "types": [
                {
                    "name": "LIST_OF_STATS",
                    "values": [
                        {
                            "name": {
                                "value": "Acceso"
                            }
                        },
                        {
                            "name": {
                                "value": "Spento"
                            }
                        }
                    ]
                }
            ]
        }
    }
}