sim consegui tive de instalar o ffmeg no raspberry
Tenho esta Vstarcam WIP7824, com imagem a funcionar por qualquer um destes metodos:
- platform: ffmpeg
name: VStarWIP
input: rtsp://user:password@192.xxx.x.x:554/tcp/av0_0
- platform: generic
name: VStarIMG
stream_source: rtsp://user:password@192.xxx.x.x:554/tcp/av0_0
still_image_url: http://192.xx.x.xx:1080/img/snapshot.cgi?user=user&pwd=password&res=0
- platform: onvif
host: 192.xx.x.x:10080/tcp/av0_0
name: VStarOnvif
username: user
password: password
Com este http:
http://192.xx.x.x:80/decoder_control.cgi?user=user&pwd=password&command=<31 ou 34 ou 37>&onestep=1
consigo, posicionar num de 3 preset (só preciso de 3)
Pretendia associar os comandos http a 3 botoes equivalentes aos da imagem infra anexa.
Estava a tentar pegar no codigo que o w00zy, postou lá para trás, tentando adaptar para comandos rest, mas não estou a conseguir
Mostra lá como tens isso e que erros está a dar.
Estou a tentar muitas coisas com quase toda a certeza idiotas e um pouco à sorte. Vou tentar ver se consigo restaurar alguma das idiotices que tentei , Já ‘posto’ daqui a pouco
############## Picture Glance Card Configuration ##############
type: picture-glance
title: Test preset PTZ
entities:
- entity: switch.pdm2portoes_portao1 #--- teste funcionamento botão abrir portão 1 (funciona)
- entity: switch.pdm2portoes_portao2 # --- idem portao 2
- entity: script.preset1 # estava a tentar associar a um script
camera_image: camera.ipcc # aparece imagem , c/refresh aprox. 10seg. para já serve para o efeito
############## No Script file scripts.yaml (tenho include no configurations) ##############
# aqui que estava a inventar , pois não encontro a forma correcta de executar o http ,
# alias nem sei se é possivel num script
preset1:
alias: preset1
url: http://xxx.x.x.x:xx80/decoder_control.cgi?loginuse=user&loginpas=password&command=31&onestep=1
Os botanecos aparecem e a imagem tb <
o http no browser faz mover para o preset
Para os scripts de PTZ funcionarem, precisas de ter a câmera integrada com ONVIF
@w00zy seguir a tua config, foi a 1ª coisa que fiz, até os nomes segui para não haver duvidas, só que, apesar da imagem poder ser integrada por onvif,
- platform: onvif
host: xxx.xx.x.x:xxx80/tcp/av0_0
name: cam8
username: user
password: pass
infelizmente a minha camera parece que não tem servico ptz onvi, e dava erro ao executar o ptz
Depois disso é que estou a tentar ptz por http
Devias de inegrar a câmera na página de integrações e a integração ONVIF devia de encontrar a câmera. Depois passavas a ter o serviço onvif.ptz
Vou tentar por ai , desconfio é que a camera não será 100% conformant com onvif
O fabrcante é apenas um Observer, que se calhar só tem algumas funcionalidades implementadas
Com Onvif Device manager , consigo detectar camera ver imagem e comandar PTZ, já com Onvif Device test tool nem a camera detecta, as cameras que são detectadas , acusam que o servico ptz não está abilitado.
eu “roubei” a ideia dos scriptz e glance card deste post, pode ser que ajude no rest command
Com integração onvif , encontrou duas cameras , a que me interessa e tem ptz é esta, mas para alem dos dois profiles de stream, não encontro mais nenhum serviço
Vou dar vista olhos ao link.
Com automação e telegram consigo qualquer coisa , mas gostava de ter possibilidade de mudar para os preset no HA.
#------------- Telegram - Resposta com 3 imagens ao comando /imagens
automation:
- alias: Resposta_ao_comando_/imagens
trigger:
platform: event
event_type: telegram_command
event_data:
command: '/imagens'
action:
#-------------------------------------- 1ª imagem
- service: notify.telegram
data:
title: Send an images_telegram
message: "That's an example that sends an image."
data:
photo:
- url: http://192.xxx.x.xx:1111/decoder_control.cgi?loginuse=utilizador&loginpas=password&command=31&onestep=1 #---move para preset. 1
- delay:
seconds: 3
- service: notify.telegram
data:
title: Send an images_telegram
message: "That's an example that sends an image."
data:
photo:
- url: http://192.xxx.x.xx:1111/img/snapshot.cgi?user=utilizador&pwd=password&res=0 # --- tira primeira foto
caption: Imagem 1
#--------------------------------------- 2ª imagem
... idem
o serviço onvif.ptz encontra-se em: Developer Tools > Services
Experimenta
entity_id: camera.cam8_profile_000
pan: RIGHT
speed: 0.5
continuous_duration: 1
move_mode: ContinuousMove
@w00zy estava a acabar o teste ptz via http , baseado no teu “roubo”
Já funciona (só não funciona o custumize do botão)… como diz o amigo Fernando Rocha . " … p.q.p." é complicado esta cena do HA e o raio do yaml é uma “flor de cheiro”, não se pode dar um espaço a mais ou a menos “pqp”
Agora é só replicar para os 3 preset, obrigado pela ajuda, assim que puder ainda vou teimar com o metodo onvif .
Agora já é a minha pancada e sou eu a complicar (ao tentar descomplicar e reduzir o codigo):
- Não haverá maneira de escrever todo o codigo logo no Card?
- Ou pelo menos chamar o url logo no script
Outra duvida, os rest_command: podem ficar num fch á parte tal como os scripts.yaml?
##############################################################################
# COMANDOS PTZ VIA HTTP (se descobrirem os comandos da vossa camera)
# FONTE: https://community.home-assistant.io/t/hikvision-camera-ptz-control-workaround-without-onvif/180366
##############################################################################
### configuration.yaml (camp1 - > camera preset 1)
rest_command:
camp1:
url: http://xxx.xxx.xxx.xxx:xxxxx/decoder_control.cgi?user=user&pwd=password&command=31&onestep=1
camp2:
url: http://xxx.xxx.xxx.xxx:xxxxx/decoder_control.cgi?user=user&pwd=password&command=34&onestep=1
camp3:
url: http://xxx.xxx.xxx.xxx:xxxxx/decoder_control.cgi?user=user&pwd=password&command=37&onestep=1
### scripts.yaml
camp1:
alias: camp1
sequence:
- service: rest_command.camp1
### customize.yaml
script.camp1:
icon: mdi:numeric-1-box
##CARD
type: picture-glance
title: Test preset PTZ
camera_image: camera.ipcc
entities:
- entity: script.camp1
tap_action:
action: call-service
service: script.camp1
Eu ainda tenho muito para aprender sobre o HA, felizmente a comunidade está cheia de génios que gostam de partilhar e uma pessoa com o tempo aprende fácilmente.
Apenas sei responder a isto:
Outra duvida, os rest_command: podem ficar num fch á parte tal como os scripts.yaml?
rest_command: !include rest.yaml
e metes os comandos no ficheiro rest.yaml
Se utilizarem packages
poder ter tudo o que diz respeito a cada equipamento num só ficheiro.
Obrigado J
## configuration.yaml
packages: !include_dir_named _Packages_XPTO # --- dir com todos yaml
Já uso essa para evitar os varios !include
Não sabia é que se podia ter um ficheiro para cada equipamento, pareçe ser boa filosofia para organizar e ter tudo junto, assim qd houver problema num device, não temos de andar ás aranhas à procura do gato
PS: Tirando o Card , poderia por tudo o resto num ficheiro?
E ainda há uma cena qualquer que já me passou pelas vistas, relacionada a ter sub pastas dentro da “_Packages_XPTO”, ainda não tenho isto com muita tralha , mas pode vir a dar jeito tb
O cartão Lovelace não entra nos packages. De resto podes colocar quase tudo, apenas não sendo aceites os domínios camera:
, notify:
, media_player:
e mais um ou dois se não me falha a memória.
Sim, podes ter pastas dentro de outras pastas se usares o !include_dir_named
. Podes ter por exemplo ter uma pasta chamada packages
e lá dentro ter por exemplo as pastas garagem
, res-do-chao
, 1-andar
e dentro dessas pastas um ficheiro para cada dispositivo tipo garagem/portao.yaml
, garagem/iluminacao.yaml
, res-do-chao/luzes_wc1.yaml
, etc.
Pessoalmente uso o método de apenas uma pasta com um ficheiro por cada divisão e depois, na mesma pasta, vários ficheiros para funções do sistema tipo sistema_rede.yaml
, sistema_medicao_energia.yaml
, sistema_ups.yaml
, etc.
Mas nestas coisas cada um usa a lógica que se adapte melhor.
Uma organização hierárquica como usas faz todo o sentido, os “excepto” é que estragam tudo.
Já uso “packages: !include_dir_named Packages_XPTO" vou testar as sub pastas, gosto de usar os "” e os “1_” no inicio dos nomes das pastas para as ordenar a gosto, espero que isso não me traga problemas.