tesla-0.7.2.0: src/Tesla/Car/Command/Wake.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}
module Tesla.Car.Command.Wake (
wakeUp
) where
import Control.Lens
import Control.Monad.IO.Class (MonadIO (..))
import Data.Aeson
import Data.Aeson.Lens
import qualified Data.ByteString.Lazy as BL
import Tesla.Car (currentVehicleID, vehicleURL)
import Tesla.Car.Command
import Tesla.Internal.HTTP (jpostAuth)
wakeUp :: MonadIO m => Car m (Maybe Value)
wakeUp = do
v <- currentVehicleID
preview (_Just . key "response") <$> jpostAuth @_ @(Maybe Value) (vehicleURL v "wake_up") BL.empty