@khuntop thanks for the update! Good news everything is working just fine so far!
To get the privacy switch in I need a favour from you:
ensure you have v0.1.1 installed
enable debug logging (instructions on GitHub)
restart HA
do a device discover like when you added your cameras
in the logs you should see for each discovered device a long detailed description with a list of capabilities and available switches
copy and paste it here, one snippet for each camera model in case you have multiple models
ensure of course there are not sensitive information in what you are pasting here (there should not since with 0.1.1 any sensitive data like tokens and so on are redacted from the logs)
Now, I have only one IMOU Rex Camera and here is the info in the logs
Device ID: {{DEVICE_SERIAL_NUMBER}}
Name: Front Door
Catalog: IPC
Model: IPC-A46L-D
Firmware: 2.800.0000000.11.R.220812
Online: yes
Capabilities:
- Support access to wireless local area network (WLAN)
- Support streaming media forwarding capability (MT)
- Support Huashi WeChat Stream Encryption (HSEncrypt)
- Support for cloud storage of China Vision WeChat platform (CloudStorage)
- Support device local storage, such as SD card or hard disk (LocalStorage)
- The device supports playback based on the file name (PlaybackByFilename)
- The device has a breathing light (indicator light) (BreathingLight)
- The device has remote debugging capabilities and supports log extraction (RemoteDebug) (RD)
- Support device local recording settings (LocalRecord)
- Cloud Upgrade (XUpgrade)
- Device end loopback RTSP requires authentication (Auth)
- Support user name password information verification and password modification (ModifyPassword)
- Support device local storage enable switch (LocalStorageEnable)
- Siren (Siren)
- White Light (WhiteLight)
- Real-time streaming supports private protocol to pull streaming (RTSV1)
- Playback stream supports private protocol to pull stream (PBSV1)
- Voice intercom streaming supports private protocol to pull streaming (TSV1)
- Support 0x95 extension header encryption (ESV1)
- Support time format setting (TimeFormat)
- Device sound switch capability (PlaySound)
- The device supports restarting (Reboot)
- Infrared Light (InfraredLight)
- Associated Device Alarm (LinkDevAlarm)
- Abnormal alarm sound (AbAlarmSound)
- The device supports SC security code (SCCode)
- Support RD capability, support data burying point control, support debugging log upload (RDV2)
- The device supports daily summer time (DaySummerTime)
- The device supports weekly daylight saving time (WeekSummerTime)
- Support TLS transmission (TLSEnable)
- Support the device to capture multiple pictures (TimingGraphics)
- Support Three code megre (TCM)
- White light, does not support brightness adjustment ability (WLV2)
- Local recording supports fast forward LocalRecordReplayForward (LRRF)
- CDD
- CDDV2
- Direct log storage (DLS)
- CDD-OSS
- CDD-OBS
- CDD-US3
- CDD-BOS
- CDD-COS
- AUTODSTV2
- Support motion detection alarm (AlarmMD)
- Support PTZ operation (PT)
- Supports audio encoding control (on or off), only affects real-time video, video audio, and does not affect intercom audio control (AudioEncodeControlV2)
- Support screen flip (FrameReverse)
- Support remote linkage (RemoteControl)
- motion-detect-window supports motion detection window settings (MDW)
- motion-detect-sensitive supports motion detection sensitivity setting (MDS)
- Support head detection (HeaderDetect)
- Support collection points (CollectionPoint)
- Support timed cruise (TimedCruise)
- Support Smart Tracking (SmartTrack)
- Support wifi report (WifiReport)
- Wide Dynamic (WideDynamic)
- Support to close the camera (CloseCamera)
- Abnormal detection tone decibel threshold (CheckAbDecible)
- Ranger2 only supports 4-way pan/tilt capability. Does not support zoom in and out Does not support digital zoom operation (PT1)
- CCSC
- PTZS
- RQD
- CLOUDAIV1
- EventFilter
- WLM
- RSRS
- Support voice intercom (AudioTalk)
- The device supports WIFI capability (WIFI)
- motionDetect
Available Switches:
- Local Record (localRecord)
- Motion detection (motionDetect)
- Breathing light (breathingLight)
- Smart Tracking (smartTrack)
- Head Detection (headerDetect)
- Device local storage (localStorageEnable)
- White Light (whiteLight)
- infrared light (infraredLight)
- close camera (closeCamera)
- easy4ip dedicated tls enable switch (tlsEnable)
- Associated device alarm (linkDevAlarm)
- Abnormal alarm sound (abAlarmSound)
- Device sound (playSound)
- Wide Dynamic (wideDynamic)
Configured Switches:
- Motion detection (motionDetect): OFF
- Breathing light (breathingLight): OFF
- Head Detection (headerDetect): OFF
- Abnormal alarm sound (abAlarmSound): OFF
Great thanks! It must be the closeCamera switch, I’ll add it along the weekend then.
I’ll also add linkDevAlarm, whiteLight and smartTrack which all seem useful to control.
Theoretically I could have all of them automatically added but each switch means a new periodic api call and I’m afraid if too many could hit the daily limit of imou Cloud api, especially if one have multiple cameras.
And also it may be confusing for the user I think to have too many not significant switches, if this makes sense.
Hello I own sevral imou IPC-C22C and your integration works great, but I need some help. I’m probably OT but I have tried everithing without success. Using the ONVIF integration I can only stream (add) one camera at the time; as sson as I try to add second onvif camera I get the message that the camera has already been added and the integration crashes. Any clue on how I could solve that problem?
thanks and gratz for the integration again.
Yesssss thanks, I’ve been tracking that post for almost one year and I’ve missed your answer of 2 weeks ago…
I can confirm that now everything works fine. Thanks again
@dlogic I’m very optimistic it would since the underlaying APIs are the same. But I’d need to have a look at your device capabilities to confirm since I don’t have one to test.
Can you please go through the steps highlighted on Imou Life - cloud integration - #11 by user2684 to discover your device and share the ouput from the debug logs?
Thanks
@khuntop and all, I’ve just made available version 0.1.2. If previous versions have been installed via HACS, the update should show up in the HACS interface as you are used to.
In this release, instead of adding the new switches we discussed in the last few days, I went for an approach which I hope can be even more flexible: for each device ALL the discovered switches are added as entities but only a few (the one we selected) are enabled by default in HA, the others show up as disabled. In this way a user can enable it without requiring any change to the integration’s code.
Minor but nice change, I’ve added icons and logos After the upgrade, the new switches should show up without the need to remove and re-add the device back again.
Let me know if it works as expected (would be nice also if you can share a screenshot of the device in HA, just for my own curiosity)
Please of course still consider this integration as an early beta since not tested extensively.
Thanks
I already have the Imou versa camera and unfortunately in the app it can’t control the white light, it’s ridiculous, it only turns on automatically with a specific night mode. I have already discussed with the customer support center that a firmware update must required.
Can you tell me if you have the same model of versa IPC-C22F-C and if you have a switch to turn on the light?
Regarding your integration, it works to turn on the status LED but not the siren, I have already done the update integration and more switches have come out, although I don’t know if everything work.
Thank you for your hard work again! for version 0.1.1 when I turn on breathing light or other switches sometimes it shows error “expire token” but after updated to version 0.1.2 everything works fine so far.
@janinho regarding the Versa, unfortunately you’re right. Actually I did start looking at the API specifically for finding out an undocumented way to manipulate the white light. I discovered that it doesn’t turn on on motion as advertised but only if you change the night mode to a specific value but in this case will stay on all the time which is not ideal. Maybe an option can be to capture the motion event, change the night mode through the api for e.g. a minute and then restoring its value back. I will look into this down the road. Still not ideal of course.
The siren should be associated with the “Associated device alarm” (I took the name of the switches from the api documentation which is probably a poor translation from Chinese). If you enable it, you should see the siren switch you have in the app enabled.
Thanks for the screenshot! Was it you enabling all the switches right? Just to confirm they showed up as disabled as they should after the upgrade.
Thanks
@khuntop thanks, I’m afraid the access token expired issue is still there also with 0.1.2, it is what I’m working on right now which is critical to be fixed, thanks for pointing it out! (temporary workaround is to manually reload the integration when it shows up).
Hi all, for those who had the chance to test the integration, wonder if it can be considered stable enough so I can add it to the default HACS repository. And if you have any feedback on the documentation for installation/setup to be more clear for new users, let me know.
Also wanted to ask you your feedback to prioritize possible future developments. Some random throughs here below in a sort of prioritized order:
Ability to modify night vision mode
Ability to receive push notifications (alarm status change and device offline)
Ability to modify other alarm settings from within HA (e.g. motion detection sensitivity, alarm schedule, etc.
Ability to take a snapshot
I’d put priority on #1 which can be helpful if we want to turn on programmatically the led on the Versa device from HA, and #2 which allows reacting upon alarms in real time (the sensor with the time of the last alarm we already have updates only every polling cycle and the motion detection through onvif does not take into account the human detection setting). What do you think?
I assume instead bringing video streaming in does not make sense, too complex and onvif integration works way better and faster.
Hi all and thanks to @user2684 for the fantastic job in the Imoulife integration
I have a Bullet 2E camera and these are the switches and sensors available:
# Switches
(Enabled and visible by default)
Breathing light
Head Detection
Motion detection
White Light
(Disabled and invisible by default)
Local recording
Local storage
Tls enable
Wide Dynamic
# Sensors
Last alarm
Online
it would be nice, if possible, to have some other switches and sensors like storage left, enabling/disabling notifications, selecting night vision modes and enabling/disabling audio
I was looking also to Ezviz cam, but after I discovered your integration now I more convinced to remain with Imou!
PS: Another thing that could be interesting is, if possible, to have the switch to enable/disable the light when motion is detected.
From the app there is only the option to enable or disable without any possibility to manage the timing when this should be done. So even during a clear sky day, when motion is detected, it will turn light on.
It should be something the the Imoulife app should do, but if there is a possibility to have that switch available in HA, it could be easy to have the light turn on only when needed
Amazing work, I have been looking for this for a long time, this is amazing and it works I can confirm it’s working with Ranger 2C, I have played with “Head detection” and “Smart Tracking” but can’t figure out what they do, I don’t see any changes, it would be nice to have some documentation of what each switch does.
I have also observed that when you change a switch state I think you are sending all the other switch states, I had my privacy switch to “ON” then from the app I opened the camera and deactivated the privacy switch, but as you mentioned this is not “LIVE” as it’s with poling, so HAS did not show that it was now disabled, so when I clicked another switch on HAS, I got on my app the privacy turned back to “ON” as in HAS, are you sending some sort of JSON with all the current values?