class Cisco::Meraki::Locations

Included Modules

Defined in:

cisco/meraki/meraki_locations.cr

Constant Summary

NO_MATCH = [] of Interface::Sensor::Detail

Class Method Summary

Instance Method Summary

Class Method Detail

def self.driver_interface : String #

Instance Method Detail

def building_zone : String #

[View source]
def camera_analytics(serial : String) #

[View source]
def cameras : Array(Cisco::Meraki::NetworkDevice) #

[View source]
def check_ownership_of(mac_address : String) : OwnershipMAC | Nil #
Description copied from module PlaceOS::Driver::Interface::Locatable

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}


[View source]
def cleanup_caches : Nil #

[View source]
def desk_details : Hash(String, DetectedDesks) #

serial => desks detected


[View source]
def desk_locations(zone_id : String) #

[View source]
def desk_mappings : Hash(String, Array(CameraZone)) #

Camera serial => [desk location]


[View source]
def desk_occupancy : Hash(String, Array(Tuple(Int64, Bool))) #

================= Camera Desk data:

desk_id => [{time, occupied}]


[View source]
def device_locations(zone_id : String, location : String | Nil = nil) #
Description copied from module PlaceOS::Driver::Interface::Locatable

array of devices and their x, y coordinates


[View source]
def format_mac(address : String) #

[View source]
def format_username(user : String) #

[View source]
def hostname_ownership(hostname : String, username : String | Nil) : Nil #

[View source]
def inspect_foorplans : Hash(String, Cisco::Meraki::FloorPlan) #

[View source]
def inspect_network_devices : Hash(String, Cisco::Meraki::NetworkDevice) #

[View source]
def inspect_state #

[View source]
def ip_username_mappings(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil #

[View source]
def locate_mac(address : String) #

[View source]
def locate_user(email : String | Nil = nil, username : String | Nil = nil) #

returns locations based on most recently seen versus most accurate location


[View source]
def locateable #

Returns the list of users who can be located


[View source]
def lookup_ip(address : String) #

[View source]
def lux : Hash(String, Float64) #

serial => lux


[View source]
def mac_address_mappings(username : String, macs : Array(String), domain : String = "") #

[View source]
def mac_hostnames : Hash(String, String) #

User lookup helpers using device hostnames


[View source]
def macs_assigned_to(email : String | Nil = nil, username : String | Nil = nil) : Array(String) #
Description copied from module PlaceOS::Driver::Interface::Locatable

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc


[View source]
def map_users_to_macs(network_id : String | Nil = nil) #

[View source]
def on_load #

[View source]
def on_update #

[View source]
def parse_new_locations(payload : String) : Nil #

Webhook endpoint for scanning API, expects version 3


[View source]
def poll_clients(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil) #

[View source]
def sensor(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil #
Description copied from module PlaceOS::Driver::Interface::Sensor

return the specified sensor details


[View source]
def sensors(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail) #
Description copied from module PlaceOS::Driver::Interface::Sensor

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)


[View source]
def sync_floorplan_sizes(network_id : String | Nil = nil) #

[View source]
def update_desk_mappings #

[View source]
def update_sensor_cache #

[View source]
def wired_desk_locations(zone_id : String) #

grabs the wired desk data for a level


[View source]
def wireless_locations(zone_id : String) #

[View source]